[PATCH] HOME must be set before calling git-init when creating test repositories
- From
Alex Riesen <raa.lkml@gmail.com>
- Date
- Mar 26, 2011, 18:21 UTC
- Message-ID
- <20110326182126.GA13496@blimp.localdomain>
- In-Reply-To
- <20110326141118.GA3475@sigill.intra.peff.net>
Otherwise the created test repositories will be affected by users ~/.gitconfig. For example, setting core.logAllrefupdates in users config will make all calls to "git config --unset core.logAllrefupdates" fail which will break the first test which uses the statement and expects it to succeed.
Signed-off-by: Alex Riesen <raa.lkml@gmail.com> ---
Jeff King, Sat, Mar 26, 2011 15:11:18 +0100:
Show 17 quoted lines
> On Sat, Mar 26, 2011 at 11:08:06AM +0100, Alex Riesen wrote: > > > >> Oh, it does. That's why the second patch (prefixed "[PATCH, fixed]"). > > >> It makes HOME to be "$(pwd)/somewhere-else", or precisely: > > >> > > >> HOME="$(pwd)"/"$test" > > >> export HOME > > > > > > What happens to people who has non-empty "$root", iow, their $test begins > > > with '/'? > > > > It's still under $test then. > > No, it's totally broken. $(pwd)/$test is nonsensical. The code right > above your change guarantees that $test is an absolute path, either > because the user gave us an absolute $root or because it has been > prepended with $TEST_DIRECTORY (which itself comes from $(pwd)).
I see. I mistook "$root" for the root of a filesystem, not the variable in test-lib.sh. How about this, than?
t/test-lib.sh | 7 ++++--- 1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/t/test-lib.sh b/t/test-lib.sh index 7cc9a52..2b24c3d 100644 --- a/t/test-lib.sh +++ b/t/test-lib.sh @@ -984,14 +984,15 @@ rm -fr "$test" || { exit 1 } +HOME="$(pwd)/$test" +test -n "$root" && HOME="$test" +export HOME + test_create_repo "$test" # Use -P to resolve symlinks in our working directory so that the cwd # in subprocesses like git equals our $PWD (for pathname comparisons). cd -P "$test" || exit 1 -HOME=$(pwd) -export HOME - this_test=${0##*/} this_test=${this_test%%-*} for skp in $GIT_SKIP_TESTS
-- 1.7.4.1.471.gab01