commit-graph: not compatible with replace objects

Create new method commit_graph_compatible(r) to check if a given
repository r is compatible with the commit-graph feature. Fill the
method with a check to see if replace-objects exist. Test this
interaction succeeds, including ignoring an existing commit-graph and
failing to write a new commit-graph. However, we do ensure that
we write a new commit-graph by setting read_replace_refs to 0, thereby
ignoring the replace refs.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Derrick Stolee
2018-08-20 18:24:27 +00:00
committed by Junio C Hamano
parent b775896342
commit d6538246d3
5 changed files with 50 additions and 1 deletions

View File

@ -32,7 +32,7 @@ static int register_replace_ref(struct repository *r,
return 0;
}
static void prepare_replace_object(struct repository *r)
void prepare_replace_object(struct repository *r)
{
if (r->objects->replace_map)
return;