summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-09-21 17:08:50 +0200
committerShawn O. Pearce <spearce@spearce.org>2007-09-22 03:58:37 +0200
commit299077fb40eac1e128b7bc09d5d992960e6f11c2 (patch)
tree30c124a00ce874c3855ed391989558a44553d175
parentgit-gui: Display message box when we cannot find git in $PATH (diff)
downloadgit-299077fb40eac1e128b7bc09d5d992960e6f11c2.tar.xz
git-299077fb40eac1e128b7bc09d5d992960e6f11c2.zip
git-gui: Handle starting on mapped shares under Cygwin
I really cannot explain Cygwin's behavior here but if we start git-gui through Cygwin on a local drive it appears that Cygwin is leaving $env(PATH) in Unix style, even if it started a native (non-Cygwin) Tcl/Tk process to run git-gui. Yet starting that same git-gui and Tcl/Tk combination through Cygwin on a network share causes it to automatically convert $env(PATH) into Windows style, which broke our internal "which" implementation. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
-rwxr-xr-xgit-gui.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/git-gui.sh b/git-gui.sh
index 10710e26c6..62e1652276 100755
--- a/git-gui.sh
+++ b/git-gui.sh
@@ -305,7 +305,7 @@ proc _which {what} {
global env _search_exe _search_path
if {$_search_path eq {}} {
- if {[is_Cygwin]} {
+ if {[is_Cygwin] && [regexp {^(/|\.:)} $env(PATH)]} {
set _search_path [split [exec cygpath \
--windows \
--path \