about summary refs log tree commit diff
path: root/third_party/git/git-gui/windows/git-gui.sh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/git-gui/windows/git-gui.sh')
-rwxr-xr-xthird_party/git/git-gui/windows/git-gui.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/third_party/git/git-gui/windows/git-gui.sh b/third_party/git/git-gui/windows/git-gui.sh
new file mode 100755
index 0000000000..b1845c5055
--- /dev/null
+++ b/third_party/git/git-gui/windows/git-gui.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+# Tcl ignores the next line -*- tcl -*- \
+exec wish "$0" -- "$@"
+
+if { $argc >=2 && [lindex $argv 0] == "--working-dir" } {
+	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 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]