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

From: Junio C Hamano <[email-masked]>
Date: Mon, 17 Mar 2014 13:44:07 -0700

Gilles Filippini <[email-masked]> writes:

> 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 <[email-masked]>
---
 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()
 {