diff options
Diffstat (limited to 'git-gui/windows/git-gui.sh')
-rw-r--r-- | git-gui/windows/git-gui.sh | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/git-gui/windows/git-gui.sh b/git-gui/windows/git-gui.sh index 98f32c0a07..b1845c5055 100644 --- a/git-gui/windows/git-gui.sh +++ b/git-gui/windows/git-gui.sh @@ -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] |