threads / patch / 30544

patchgit-sh-setup: work around Cygwin path handling gotchas

Subject: [PATCH] git-sh-setup: work around Cygwin path handling gotchas

## tl;dr

One message between May 17, 2012 and May 17, 2012. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

Steven Penny· May 17, 2012, 00:39 UTC · lore

On Cygwin, tools built for Cygwin can take both Windows-style paths (e.g. C:/dir/file.txt or C:\dir\file.txt) and Cygwin-style paths (e.g. /cygdrive/c/dir/file.txt), but Windows-native tools can only take Windows-style paths. Because the paths that are relative to $GIT_DIR, e.g. the name of the insn sheet file of the "rebase -i" command, are given to the programs with $GIT_DIR prefixed, and $GIT_DIR in turn is computed by calling "pwd", wrap "pwd" to call "cygpath -m" to give a Windows-style path, in a way similar to how mingw does this.

Signed-off-by: Steven Penny <svnpenn@gmail.com>
---
 git-sh-setup.sh |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
Show changes to git-sh-setup.sh +5 −0
diff --git a/git-sh-setup.sh b/git-sh-setup.sh
index 7b3ae75..07f54c1 100644
--- a/git-sh-setup.sh
+++ b/git-sh-setup.sh
@@ -260,6 +260,11 @@ case $(uname -s) in
 		return 1
 	}
 	;;
+*CYGWIN*)
+	pwd () {
+		cygpath -m "$PWD"
+	}
+	;;
 *)
 	is_absolute_path () {
 		case "$1" in
-- 
1.7.9

← back to recent threads