builtin/pack-objects.c: respect 'pack.writeReverseIndex'

Now that we have an implementation that can write the new reverse index
format, enable writing a .rev file in 'git pack-objects' by consulting
the pack.writeReverseIndex configuration variable.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Taylor Blau 2021-01-25 18:37:30 -05:00 committed by Junio C Hamano
parent e37d0b8730
commit c97733435a
2 changed files with 20 additions and 0 deletions

View file

@ -2955,6 +2955,13 @@ static int git_pack_config(const char *k, const char *v, void *cb)
pack_idx_opts.version);
return 0;
}
if (!strcmp(k, "pack.writereverseindex")) {
if (git_config_bool(k, v))
pack_idx_opts.flags |= WRITE_REV;
else
pack_idx_opts.flags &= ~WRITE_REV;
return 0;
}
if (!strcmp(k, "uploadpack.blobpackfileuri")) {
struct configured_exclusion *ex = xmalloc(sizeof(*ex));
const char *oid_end, *pack_end;

View file

@ -68,4 +68,17 @@ test_expect_success 'index-pack infers reverse index name with -o' '
test_path_is_file other.rev
'
test_expect_success 'pack-objects respects pack.writeReverseIndex' '
test_when_finished "rm -fr pack-1-*" &&
git -c pack.writeReverseIndex= pack-objects --all pack-1 &&
test_path_is_missing pack-1-*.rev &&
git -c pack.writeReverseIndex=false pack-objects --all pack-1 &&
test_path_is_missing pack-1-*.rev &&
git -c pack.writeReverseIndex=true pack-objects --all pack-1 &&
test_path_is_file pack-1-*.rev
'
test_done