index-pack: Don't follow replace refs.
Without this, attempting to index a pack containing objects that have been replaced results in a fatal error that looks like: fatal: SHA1 COLLISION FOUND WITH <replaced-object> ! Signed-off-by: Nelson Elhage <nelhage@ksplice.com> Acked-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
b5e233ecc4
commit
6e2a09d24b
@ -884,6 +884,8 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
|
|||||||
if (argc == 2 && !strcmp(argv[1], "-h"))
|
if (argc == 2 && !strcmp(argv[1], "-h"))
|
||||||
usage(index_pack_usage);
|
usage(index_pack_usage);
|
||||||
|
|
||||||
|
read_replace_refs = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We wish to read the repository's config file if any, and
|
* We wish to read the repository's config file if any, and
|
||||||
* for that it is necessary to call setup_git_directory_gently().
|
* for that it is necessary to call setup_git_directory_gently().
|
||||||
|
@ -219,6 +219,12 @@ test_expect_success 'bisect and replacements' '
|
|||||||
git bisect reset
|
git bisect reset
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'index-pack and replacements' '
|
||||||
|
git --no-replace-objects rev-list --objects HEAD |
|
||||||
|
git --no-replace-objects pack-objects test- &&
|
||||||
|
git index-pack test-*.pack
|
||||||
|
'
|
||||||
|
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
test_done
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user