Merge branch 'jk/disable-commit-graph-during-upload-pack'
The "upload-pack" (the counterpart of "git fetch") needs to disable commit-graph when responding to a shallow clone/fetch request, but the way this was done made Git panic, which has been corrected. * jk/disable-commit-graph-during-upload-pack: upload-pack: disable commit graph more gently for shallow traversal commit-graph: bump DIE_ON_LOAD check to actual load-time
This commit is contained in:
@ -468,14 +468,21 @@ static int prepare_commit_graph(struct repository *r)
|
||||
{
|
||||
struct object_directory *odb;
|
||||
|
||||
if (git_env_bool(GIT_TEST_COMMIT_GRAPH_DIE_ON_LOAD, 0))
|
||||
die("dying as requested by the '%s' variable on commit-graph load!",
|
||||
GIT_TEST_COMMIT_GRAPH_DIE_ON_LOAD);
|
||||
/*
|
||||
* This must come before the "already attempted?" check below, because
|
||||
* we want to disable even an already-loaded graph file.
|
||||
*/
|
||||
if (r->commit_graph_disabled)
|
||||
return 0;
|
||||
|
||||
if (r->objects->commit_graph_attempted)
|
||||
return !!r->objects->commit_graph;
|
||||
r->objects->commit_graph_attempted = 1;
|
||||
|
||||
if (git_env_bool(GIT_TEST_COMMIT_GRAPH_DIE_ON_LOAD, 0))
|
||||
die("dying as requested by the '%s' variable on commit-graph load!",
|
||||
GIT_TEST_COMMIT_GRAPH_DIE_ON_LOAD);
|
||||
|
||||
prepare_repo_settings(r);
|
||||
|
||||
if (!git_env_bool(GIT_TEST_COMMIT_GRAPH, 0) &&
|
||||
@ -2101,3 +2108,8 @@ void free_commit_graph(struct commit_graph *g)
|
||||
free(g->filename);
|
||||
free(g);
|
||||
}
|
||||
|
||||
void disable_commit_graph(struct repository *r)
|
||||
{
|
||||
r->commit_graph_disabled = 1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user