From: Jeff King Date: Sat, 26 Mar 2011 14:11:18 GMT Subject: Re: [PATCH] HOME must be set before calling git-init when creating test repositories Message-ID: <20110326141118.GA3475@sigill.intra.peff.net> In-Reply-To: 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)). So the change you want is HOME=$test. But note that the code looks like this then: HOME=$test export HOME test_create_repo "$test" cd -P "$test" meaning that test_create_repo sees a non-existent HOME. I don't think that matters, but if it did, you could do: HOME=$TEST_DIRECTORY export HOME test_create_repo "$test" cd -P "$test" HOME=$test -Peff