summaryrefslogtreecommitdiff
path: root/commit-graph.c
diff options
context:
space:
mode:
authorDerrick Stolee <dstolee@microsoft.com>2018-08-20 18:24:30 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-08-21 17:22:51 (GMT)
commit20fd6d57996e33c30b6bb030329523d0116f15ec (patch)
treeba237151d6d0d2f2a3e83802dda069c7789b8bbf /commit-graph.c
parentd6538246d3d4edbfbc9b0af6a2aa38552d35f7f1 (diff)
downloadgit-20fd6d57996e33c30b6bb030329523d0116f15ec.zip
git-20fd6d57996e33c30b6bb030329523d0116f15ec.tar.gz
git-20fd6d57996e33c30b6bb030329523d0116f15ec.tar.bz2
commit-graph: not compatible with grafts
Augment commit_graph_compatible(r) to return false when the given repository r has commit grafts or is a shallow clone. Test that in these situations we ignore existing commit-graph files and we do not write new commit-graph files. Helped-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Derrick Stolee <dstolee@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'commit-graph.c')
-rw-r--r--commit-graph.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/commit-graph.c b/commit-graph.c
index 2c01fa4..c4eaedf 100644
--- a/commit-graph.c
+++ b/commit-graph.c
@@ -68,6 +68,12 @@ static int commit_graph_compatible(struct repository *r)
return 0;
}
+ prepare_commit_graft(r);
+ if (r->parsed_objects && r->parsed_objects->grafts_nr)
+ return 0;
+ if (is_repository_shallow(r))
+ return 0;
+
return 1;
}