Code

Better handling of exec extension in the git wrapper script
authorH. Peter Anvin <hpa@smyrno.hos.anvin.org>
Fri, 30 Sep 2005 18:02:26 +0000 (11:02 -0700)
committerH. Peter Anvin <hpa@smyrno.hos.anvin.org>
Fri, 30 Sep 2005 18:02:26 +0000 (11:02 -0700)
Makefile
git.sh

index e5b8a51afe7b370b6a8964bec821fd894ad7e6fa..38330c2e90e0e19f5a00945d5a4c4bf19008c676 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -273,7 +273,8 @@ all:
 git: git.sh Makefile
        rm -f $@+ $@
        sed -e '1s|#!.*/sh|#!$(SHELL_PATH)|' \
-           -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' <$@.sh >$@+
+           -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
+           -e 's/@@X@@/$(X)/g' <$@.sh >$@+
        chmod +x $@+
        mv $@+ $@
 
diff --git a/git.sh b/git.sh
index ea710aafc130afb5b4adabcaab4ec996662cdc34..2986f08ce22ddd42f6efd881b50bf794f6cdc20f 100755 (executable)
--- a/git.sh
+++ b/git.sh
@@ -11,11 +11,17 @@ case "$#" in
                echo "git version @@GIT_VERSION@@"
                exit 0 ;;
        esac
-
-       test -x $path/git-$cmd && exec $path/git-$cmd "$@" ;;
-
-       # In case we're running on Cygwin...
-       test -x $path/git-$cmd.exe && exec $path/git-$cmd.exe "$@" ;;
+       
+       test -x $path/git-$cmd && exec $path/git-$cmd "$@"
+       
+       case '@@X@@' in
+           '')
+               ;;
+           *)
+               test -x $path/git-$cmd@@X@@ && exec $path/git-$cmd@@X@@ "$@"
+               ;;
+       esac
+       ;;
 esac
 
 echo "Usage: git COMMAND [OPTIONS] [TARGET]"