Merge branch 'da/fix-submodule-sync-superproject-config' into maint
[gitweb.git] / git-gui / windows / git-gui.sh
index 98f32c0a071146a202b3d8589576db26974ccbfa..b1845c505500a0f079b2299de07d481c6b2550c4 100644 (file)
@@ -3,14 +3,23 @@
 exec wish "$0" -- "$@"
 
 if { $argc >=2 && [lindex $argv 0] == "--working-dir" } {
-       cd [lindex $argv 1]
+       set workdir [lindex $argv 1]
+       cd $workdir
+       if {[lindex [file split $workdir] end] eq {.git}} {
+               # Workaround for Explorer right click "Git GUI Here" on .git/
+               cd ..
+       }
        set argv [lrange $argv 2 end]
        incr argc -2
 }
 
-set gitguidir [file dirname [info script]]
-regsub -all ";" $gitguidir "\\;" gitguidir
-set env(PATH) "$gitguidir;$env(PATH)"
-unset gitguidir
+set basedir [file dirname \
+            [file dirname \
+             [file dirname [info script]]]]
+set bindir [file join $basedir bin]
+set bindir "$bindir;[file join $basedir mingw bin]"
+regsub -all ";" $bindir "\\;" bindir
+set env(PATH) "$bindir;$env(PATH)"
+unset bindir
 
 source [file join [file dirname [info script]] git-gui.tcl]