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

Re: [PATCH] t5582: remove spurious 'cd "$D"' line

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 23, 2021, 23:32 UTC
Message-ID
<xmqq8s0rpwiw.fsf@gitster.g>
In-Reply-To
<tV8xl8isDPhmGxCNmN06tTwhJTve0PsrkakKwLMcFQJybDZO2SGHHbDLZFrcLp1Yda1_KRygSm7-lVDSZSaG-antdalcPnhSqYqcK5Fpifk=@protonmail.com>
Mickey Endito <mickey.endito.2323@protonmail.com> writes:
> The variable D is never defined in test t5582, more severely the test
> fails if D is defined by something outside the test suite, so remove
> this spurious line.
Wow.  Well spotted.
When D is left unset, we end up executing
	cd "" && ...

and it explains why nobody noticed the breakage for nearly a year since c0192df6 (refspec: add support for negative refspecs, 2020-09-30) was written.

Unlike the apparent copy-and-paste source, this is a more modern script that limits the chdir inside subshells to avoid moving around in the main flow of the test, and the fix proposed here looks the most sensible.

Show 26 quoted lines
> Signed-off-by: Mickey Endito <mickey.endito.2323@protonmail.com>
> ---
> To reproduce a failure do
> D=/some/path/which/does/not/exist t/t5582-fetch-negative-refspec.sh
>
> Note: The variable D seems to be a reminiscent similar to t/t5510-fetch.sh,
> which defines "D=$(pwd)". If you want to adopt that way, then you have
> to code a fix yourself. ;-)
>
>  t/t5582-fetch-negative-refspec.sh | 1 -
>  1 file changed, 1 deletion(-)
>
> diff --git a/t/t5582-fetch-negative-refspec.sh b/t/t5582-fetch-negative-refspec.sh
> index e5d2e79ad3..7a80e47c2b 100755
> --- a/t/t5582-fetch-negative-refspec.sh
> +++ b/t/t5582-fetch-negative-refspec.sh
> @@ -105,7 +105,6 @@ test_expect_success "fetch with negative pattern refspec does not expand prefix"
>  '
>
>  test_expect_success "fetch with negative refspec avoids duplicate conflict" '
> -	cd "$D" &&
>  	(
>  		cd one &&
>  		git branch dups/a &&
> --
> 2.30.2
Previous: Mickey EnditoNext: SZEDER Gábor
Message 2 of 10 in “t5582: remove spurious 'cd "$D"' line”
  1. t5582: remove spurious 'cd "$D"' lineMickey Endito, Aug 23, 2021
  2. Junio C HamanoAug 23, 2021
  3. SZEDER GáborAug 24, 2021
  4. Junio C HamanoAug 24, 2021
  5. Jeff KingAug 25, 2021
  6. Junio C HamanoAug 25, 2021
  7. SZEDER GáborAug 28, 2021
  8. Junio C HamanoAug 30, 2021
  9. Jeff KingAug 30, 2021
  10. Junio C HamanoAug 30, 2021

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.