Re: [PATCH v3 02/14] t5500: add tests of fetch-pack --all --depth=N $URL $REF
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Sep 10, 2012, 20:46 UTC
- Message-ID
- <7vmx0xmwr9.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1347171589-13327-3-git-send-email-mhagger@alum.mit.edu>
Michael Haggerty <mhagger@alum.mit.edu> writes:
Show 11 quoted lines
> Document some bugs in "git fetch-pack": > > 1. If "git fetch-pack" is called with "--all", "--depth", and an > explicit existing non-tag reference to fetch, then it falsely reports > that the reference was not found, even though it was fetched > correctly. > > 2. If "git fetch-pack" is called with "--all", "--depth", and an > explicit existing tag reference to fetch, then it segfaults in > filter_refs() because return_refs is used without having been > initialized.
I guess the first one is because "all" already marks the fetched one "used", and does not allow the explicit one to match any unused one from the other side? I wonder what happens when "--all" with an explicit refspec that names non-existing ref is asked for (it should notice that refs/heads/no-such-ref does not exist. I do not know if it is something that belongs to this set of new tests)?
It is funny that this only happens with "--depth" (I think I know which part of the code introduces this bug, so it is not all that interesting, but just funny).
Thanks for working on these glitches.
Show 29 quoted lines
> Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> > --- > t/t5500-fetch-pack.sh | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh > index 6fa1cef..15d277f 100755 > --- a/t/t5500-fetch-pack.sh > +++ b/t/t5500-fetch-pack.sh > @@ -427,4 +427,19 @@ test_expect_success 'test missing ref before existing' ' > test_cmp expect-error error-me > ' > > +test_expect_failure 'test --all, --depth, and explicit head' ' > + ( > + cd client && > + git fetch-pack --no-progress --all --depth=1 .. refs/heads/A > + ) >out-adh 2>error-adh > +' > + > +test_expect_failure 'test --all, --depth, and explicit tag' ' > + git tag OLDTAG refs/heads/B~5 && > + ( > + cd client && > + git fetch-pack --no-progress --all --depth=1 .. refs/tags/OLDTAG > + ) >out-adt 2>error-adt > +' > + > test_done