Junio C Hamano wrote:
+*CYGWIN*)
+ pwd () {
+ builtin cygpath -m
+ }
+ ;;
Ok I got it!
The problem is twofold
1. Ramsay Jones was right, it needs to be called like
cygpath -m "$PWD"
2. The Cygwin "pwd" (and quite possibly MinGW "pwd") needs to be defined
**before** it is called
diff -u a/git-sh-setup.sh b/git-sh-setup.sh
--- a/git-sh-setup.sh 2012-05-16 13:48:43.160399300 -0500
+++ b/git-sh-setup.sh 2012-05-16 13:50:29.465479600 -0500
@@ -218,26 +218,6 @@
unset $(git rev-parse --local-env-vars)
}
-# Make sure we are in a valid repository of a vintage we understand,
-# if we require to be in a git repository.
-if test -z "$NONGIT_OK"
-then
- GIT_DIR=$(git rev-parse --git-dir) || exit
- if [ -z "$SUBDIRECTORY_OK" ]
- then
- test -z "$(git rev-parse --show-cdup)" || {
- exit=$?
- echo >&2 "You need to run this command from the toplevel of theworking tree."
- exit $exit
- }
- fi
- test -n "$GIT_DIR" && GIT_DIR=$(cd "$GIT_DIR" && pwd) || {
- echo >&2 "Unable to determine absolute path of git directory"
- exit 1
- }
- : ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
-fi
-
# Fix some commands on Windows
case $(uname -s) in
*MINGW*)@@ -260,6 +240,11 @@
return 1
}
;;
+*CYGWIN*)
+ pwd () {
+ cygpath -m "$PWD"
+ }
+ ;;
*)
is_absolute_path () {
case "$1" in@@ -269,3 +254,23 @@
return 1
}
esac
+
+# Make sure we are in a valid repository of a vintage we understand,
+# if we require to be in a git repository.
+if test -z "$NONGIT_OK"
+then
+ GIT_DIR=$(git rev-parse --git-dir) || exit
+ if [ -z "$SUBDIRECTORY_OK" ]
+ then
+ test -z "$(git rev-parse --show-cdup)" || {
+ exit=$?
+ echo >&2 "You need to run this command from the toplevel of theworking tree."
+ exit $exit
+ }
+ fi
+ test -n "$GIT_DIR" && GIT_DIR=$(cd "$GIT_DIR" && pwd) || {
+ echo >&2 "Unable to determine absolute path of git directory"
+ exit 1
+ }
+ : ${GIT_OBJECT_DIRECTORY="$GIT_DIR/objects"}
+fi