Re: [PATCH] HOME must be set before calling git-init when creating test repositories
- From
Jeff King <peff@peff.net>
- Date
- Mar 26, 2011, 14:11 UTC
- Message-ID
- <20110326141118.GA3475@sigill.intra.peff.net>
- In-Reply-To
- <AANLkTi=+SZGxLyP8vFPpmK8DZvke6-Tu-crwq5+89qWx@mail.gmail.com>
On Sat, Mar 26, 2011 at 11:08:06AM +0100, Alex Riesen wrote:
Show 10 quoted lines
> >> 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