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@xxxxxxxxx> --- Jeff King, Sat, Mar 26, 2011 15:11:18 +0100: > 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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html