Junio C Hamano [off-list ref] writes:
Jordan DE GEA [off-list ref] writes:
quoted
+ branch=$(cd short-hand && git rev-parse --symbolic-full-name HEAD) &&
+ test "$branch" = refs/heads/newbranch &&
+ cd ..
If any of the command between "cd short-hand" and "cd .." failed,
after correcting the broken &&-chain, the next test will end up
running in short-hand directory, which it is not expecting. A
canonical way to avoid this problem is to replace the above with:
...
git worktree add short-hand - &&
(
cd short-hand &&
...
test "$branch" = refs/heads/newbranch
)
Actually, $(...) implicitly does a subshell, so the "cd .." was just
useless.
git -C short-hand rev-parse --symbolic-full-name HEAD >actual &&
Indeed, git -C is an even better way to say "cd .. && git ..."
--
Matthieu Moy
http://www-verimag.imag.fr/~moy/