aboutsummaryrefslogtreecommitdiff
path: root/builtin/commit-graph.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-11-21 22:57:47 +0900
committerJunio C Hamano <gitster@pobox.com>2018-11-21 22:57:47 +0900
commite60e38a15da202737790e2b2a9e613a9cf6ec092 (patch)
treec91ed7a45574e4c543814e52daf7f72871aa6f89 /builtin/commit-graph.c
parenta357daeac6b95fa50b80404859d916c71320b79c (diff)
parent829a321569d8e8f2c582aef9f0c990df976ab842 (diff)
downloadgit-e60e38a15da202737790e2b2a9e613a9cf6ec092.tar.xz
Merge branch 'ds/commit-graph-with-grafts' into maint
The recently introduced commit-graph auxiliary data is incompatible with mechanisms such as replace & grafts that "breaks" immutable nature of the object reference relationship. Disable optimizations based on its use (and updating existing commit-graph) when these incompatible features are in use in the repository. * ds/commit-graph-with-grafts: commit-graph: close_commit_graph before shallow walk commit-graph: not compatible with uninitialized repo commit-graph: not compatible with grafts commit-graph: not compatible with replace objects test-repository: properly init repo commit-graph: update design document refs.c: upgrade for_each_replace_ref to be a each_repo_ref_fn callback refs.c: migrate internal ref iteration to pass thru repository argument
Diffstat (limited to 'builtin/commit-graph.c')
-rw-r--r--builtin/commit-graph.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/builtin/commit-graph.c b/builtin/commit-graph.c
index 0bf0c48657..da737df321 100644
--- a/builtin/commit-graph.c
+++ b/builtin/commit-graph.c
@@ -120,6 +120,8 @@ static int graph_read(int argc, const char **argv)
return 0;
}
+extern int read_replace_refs;
+
static int graph_write(int argc, const char **argv)
{
struct string_list *pack_indexes = NULL;
@@ -150,6 +152,8 @@ static int graph_write(int argc, const char **argv)
if (!opts.obj_dir)
opts.obj_dir = get_object_directory();
+ read_replace_refs = 0;
+
if (opts.reachable) {
write_commit_graph_reachable(opts.obj_dir, opts.append);
return 0;