git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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.

Previous: David Symonds
Message 2 of 2 in “git-checkout: Add a test case for relative paths use.”
  1. git-checkout: Add a test case for relative paths use.David Symonds, Nov 8, 2007
  2. Junio C HamanoNov 8, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.