Merge branch 'js/commit-graph-warning'

When certain features (e.g. grafts) used in the repository are
incompatible with the use of the commit-graph, we used to silently
turned commit-graph off; we now tell the user what we are doing.

* js/commit-graph-warning:
  commit-graph: when incompatible with graphs, indicate why
This commit is contained in:
Junio C Hamano 2021-02-17 17:21:42 -08:00
commit 726b11d68a

View File

@ -215,16 +215,24 @@ static int commit_graph_compatible(struct repository *r)
if (read_replace_refs) { if (read_replace_refs) {
prepare_replace_object(r); prepare_replace_object(r);
if (hashmap_get_size(&r->objects->replace_map->map)) if (hashmap_get_size(&r->objects->replace_map->map)) {
warning(_("repository contains replace objects; "
"skipping commit-graph"));
return 0; return 0;
}
} }
prepare_commit_graft(r); prepare_commit_graft(r);
if (r->parsed_objects && if (r->parsed_objects &&
(r->parsed_objects->grafts_nr || r->parsed_objects->substituted_parent)) (r->parsed_objects->grafts_nr || r->parsed_objects->substituted_parent)) {
warning(_("repository contains (deprecated) grafts; "
"skipping commit-graph"));
return 0; return 0;
if (is_repository_shallow(r)) }
if (is_repository_shallow(r)) {
warning(_("repository is shallow; skipping commit-graph"));
return 0; return 0;
}
return 1; return 1;
} }