Code

(Hopefully) fix PATH setting for msysgit.
authorAvery Pennarun <apenwarr@gmail.com>
Thu, 24 Jun 2010 05:53:05 +0000 (01:53 -0400)
committerAvery Pennarun <apenwarr@gmail.com>
Thu, 24 Jun 2010 05:53:05 +0000 (01:53 -0400)
Reported by Evan Shaw.  The problem is that $(git --exec-path) includes a
'git' binary which is incompatible with the one in /usr/bin; if you run it,
it gives you an error about libiconv2.dll.

You might think we could just add $(git --exec-path) at the *end* of PATH,
but then if there are multiple versions of git installed, we could end up
with the wrong one; earlier versions used to put git-sh-setup in /usr/bin,
so we'd pick up that one before the new one.

So now we just set PATH back to its original value right after running
git-sh-setup, and we should be okay.

git-subtree.sh

index 501c6dc2f1a8e8a646f535074c8e95f7bc445439..935dfca7f36c1283c04a1ab06ba866725fe40210 100755 (executable)
@@ -29,8 +29,12 @@ rejoin        merge the new branch back into HEAD
 squash        merge subtree changes as a single commit
 "
 eval $(echo "$OPTS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?)
+
+OPATH=$PATH
 PATH=$(git --exec-path):$PATH
 . git-sh-setup
+PATH=$OPATH  # apparently needed for some versions of msysgit
+
 require_work_tree
 
 quiet=