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

Re: [NEW REPLACEMENT PATCH] git-checkout: Add a test case for relative paths use.

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Nov 8, 2007, 14:32 UTC
Message-ID
<Pine.LNX.4.64.0711081427450.4362@racer.site>
In-Reply-To
<11945276321726-git-send-email-dsymonds@gmail.com>
Hi,
just a few nitpicks:
On Fri, 9 Nov 2007, David Symonds wrote:
Show 8 quoted lines
> +test_expect_success setup '
> +
> +	echo base > file0 &&
> +	git add file0 &&
> +	mkdir dir1 &&
> +	echo hello > dir1/file1 &&
> +	git add dir1/file1 &&
> +	test_tick &&

please move the test_tick directly in front of the commit. Readers might assume that it has an effect on mkdir otherwise.

Show 6 quoted lines
> +	mkdir dir2 &&
> +	echo bonjour > dir2/file2 &&
> +	git add dir2/file2 &&
> +	git commit -m "populate tree"
> +
> +'

Please lose the empty line before the closing quote. (This applies to all tests.)

Show 16 quoted lines
> +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 &&
> +	rm file1 &&
> +	git checkout HEAD -- ../dir1/../dir1/file1 && test -f ./file1
> +
> +'
> +
> +test_expect_failure 'checkout with relative path outside tree should fail (1)' \
> +	'git checkout HEAD -- ../file0'

Maybe do that with an existing file? Since the test script lives in t/, and the test is run in t/trash/, we can test for "../Makefile".

Also, I would shorten the message to "relative path outside tree should fail".

> +test_expect_failure 'checkout with relative path outside tree should fail (2)' \
> +	'cd dir1 && git checkout HEAD -- ./file0'
I am not convinced that this should fail.
> +test_expect_failure 'checkout with relative path outside tree should fail (2)' \
> +	'cd dir1 && git checkout HEAD -- ../../file0'
Please add some other test like
test_expect_success 'checkout with empty prefix' '
	rm file0 &&
	git checkout HEAD -- file0 &&
	test base = "$(cat file0)"
'

Thanks, Dscho

Previous: David SymondsNext: Junio C Hamano
Message 2 of 4 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. Johannes SchindelinNov 8, 2007
  3. Junio C HamanoNov 8, 2007
  4. Johannes SchindelinNov 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.