Re: [PATCH] git-checkout: Add a test case for relative paths use.
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 8, 2007, 05:03 UTC
- Message-ID
- <7v8x5972if.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <11944932524072-git-send-email-dsymonds@gmail.com>
David Symonds <dsymonds@gmail.com> writes:
Show 46 quoted lines
> Signed-off-by: David Symonds <dsymonds@gmail.com> > --- > t/t2008-checkout-subdir.sh | 36 ++++++++++++++++++++++++++++++++++++ > 1 files changed, 36 insertions(+), 0 deletions(-) > create mode 100755 t/t2008-checkout-subdir.sh > > diff --git a/t/t2008-checkout-subdir.sh b/t/t2008-checkout-subdir.sh > new file mode 100755 > index 0000000..cb9c9eb > --- /dev/null > +++ b/t/t2008-checkout-subdir.sh > @@ -0,0 +1,36 @@ > +#!/bin/sh > +# > +# Copyright (c) 2007 David Symonds > + > +test_description='git checkout from subdirectories' > + > +. ./test-lib.sh > + > +test_expect_success setup ' > + > + echo base > file0 && > + git add file0 && > + mkdir dir1 && > + echo hello > dir1/file1 && > + git add dir1/file1 && > + test_tick && > + mkdir dir2 && > + echo bonjour > dir2/file2 && > + git add dir2/file2 && > + git commit -m "populate tree" > + > +' > + > +test_expect_success 'remove and restore with relative path' ' > + > + cd dir1 && > + rm ../file0 && > + git checkout HEAD -- ../file0 && test -f ../file0 && > + rm ../dir2/file2 && > + git checkout HEAD -- ../dir2/file2 && test -f ../dir2/file2 && > + rm ../file0 ./file1 && > + git checkout HEAD -- .. && test -f ../file0 && test -f ./file1 > + > +'
This is better than not having any test, but we would also want a negative test. Things like trying to check out "../file" without going down into a subdirectory, check out "../../file" in a subdirectory that is only one level deep.