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

Re: [BUG] contrib/subtree: t/t7900-subtree.sh: test 21 fails when environment variable 'prefix' is set

From
Junio C Hamano <gitster@pobox.com>
Date
Mar 17, 2014, 20:44 UTC
Message-ID
<xmqqiorcd088.fsf@gitster.dls.corp.google.com>
In-Reply-To
<5326F158.4050402@free.fr>
Gilles Filippini <gilles.filippini@free.fr> writes:
Show 28 quoted lines
> Test 21 from contrib/subtree/t/t7900-subtree.sh fails when an
> environment variable 'prefix' is set. For instance here is what happens
> when prefix=/usr:
>
> expecting success:
>         echo "You must provide the --prefix option." > expected &&
>         test_must_fail git subtree split > actual 2>&1 &&
> 	test_debug "printf 'expected: '" &&
>         test_debug "cat expected" &&
> 	test_debug "printf 'actual: '" &&
>         test_debug "cat actual" &&
>         test_cmp expected actual &&
>         rm -f expected actual
>
> --- expected	2014-03-17 10:39:34.907594853 +0000
> +++ actual	2014-03-17 10:39:34.979595322 +0000
> @@ -1 +1,9 @@
> -You must provide the --prefix option.
> fatal: /usr: '/usr' is outside repository
> fatal: /usr: '/usr' is outside repository
> fatal: /usr: '/usr' is outside repository
> fatal: /usr: '/usr' is outside repository
> fatal: /usr: '/usr' is outside repository
> fatal: /usr: '/usr' is outside repository
> fatal: /usr: '/usr' is outside repository
> fatal: /usr: '/usr' is outside repository
> +No new revisions were found
> not ok 21 - Check that prefix argument is required for split

Thanks. Although I do not use nor touch git-subtree, I am reasonably confident that this patch should fix it.

-- >8 --
Subject: subtree: initialise all variables to known state

Parsing the command line options may set prefix to the given value with --prefix=value or an empty string with --no-prefix, but the script forgets to protect against a stray environment variable.

Make sure all the variables that can be assigned in the command line parsing are initialized to empty.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
---
 contrib/subtree/git-subtree.sh | 1 +
 1 file changed, 1 insertion(+)
diff --git a/contrib/subtree/git-subtree.sh b/contrib/subtree/git-subtree.sh
index 7d7af03..90e0b7e 100755
--- a/contrib/subtree/git-subtree.sh
+++ b/contrib/subtree/git-subtree.sh
@@ -46,6 +46,7 @@ ignore_joins=
 annotate=
 squash=
 message=
+prefix=
 
 debug()
 {
Previous: Jeff King
Message 5 of 5 in “[BUG] contrib/subtree: t/t7900-subtree.sh: test 21 fails when environment variable 'prefix' is set”
  1. Gilles FilippiniMar 17, 2014
  2. subtree: initialize "prefix" variableJeff King, Mar 17, 2014
  3. Eric SunshineMar 17, 2014
  4. Jeff KingMar 17, 2014
  5. Junio C HamanoMar 17, 2014

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.