From: Christian Couder Date: Thu, 12 Aug 2010 03:17:53 GMT Subject: Re: [PATCH] index-pack: Don't follow replace refs. Message-ID: <201008120517.53874.chriscool@tuxfamily.org> In-Reply-To: <1281401149-23141-1-git-send-email-nelhage@ksplice.com> On Tuesday 10 August 2010 02:45:49 Nelson Elhage wrote: > 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 ! I think it is a good patch except for a nit pick below. > Signed-off-by: Nelson Elhage > --- > builtin/index-pack.c | 2 ++ > t/t6050-replace.sh | 6 ++++++ > 2 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/builtin/index-pack.c b/builtin/index-pack.c > index a89ae83..fad76bf 100644 > --- a/builtin/index-pack.c > +++ b/builtin/index-pack.c > @@ -884,6 +884,8 @@ int cmd_index_pack(int argc, const char **argv, const > char *prefix) if (argc == 2 && !strcmp(argv[1], "-h")) > usage(index_pack_usage); > > + read_replace_refs = 0; > + > /* > * We wish to read the repository's config file if any, and > * for that it is necessary to call setup_git_directory_gently(). > diff --git a/t/t6050-replace.sh b/t/t6050-replace.sh > index 203ffdb..b5635a7 100755 > --- a/t/t6050-replace.sh > +++ b/t/t6050-replace.sh > @@ -219,6 +219,12 @@ test_expect_success 'bisect and replacements' ' > 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- Maybe you could add "&&" at the end of the above line to make sure that an error in the commands is caught. So, for what it's worth, if the above is fixed: Acked-by: Christian Couder > + git index-pack test-*.pack > +' > + > # > # > test_done Thanks, Christian.