summaryrefslogtreecommitdiff
path: root/git-gui/macosx/AppMain.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'git-gui/macosx/AppMain.tcl')
-rw-r--r--git-gui/macosx/AppMain.tcl29
1 files changed, 29 insertions, 0 deletions
diff --git a/git-gui/macosx/AppMain.tcl b/git-gui/macosx/AppMain.tcl
new file mode 100644
index 0000000000..b6c6dc3500
--- /dev/null
+++ b/git-gui/macosx/AppMain.tcl
@@ -0,0 +1,29 @@
+set gitexecdir {@@gitexecdir@@}
+if { [info exists ::env(GIT_GUI_LIB_DIR) ] } {
+ set gitguilib $::env(GIT_GUI_LIB_DIR)
+} else {
+ set gitguilib {@@GITGUI_LIBDIR@@}
+}
+
+set env(PATH) "$gitexecdir:$env(PATH)"
+
+if {[string first -psn [lindex $argv 0]] == 0} {
+ lset argv 0 [file join $gitexecdir git-gui]
+}
+
+if {[file tail [lindex $argv 0]] eq {gitk}} {
+ set argv0 [lindex $argv 0]
+ set AppMain_source $argv0
+} else {
+ set argv0 [file join $gitexecdir [file tail [lindex $argv 0]]]
+ set AppMain_source [file join $gitguilib git-gui.tcl]
+ if {[info exists env(PWD)]} {
+ cd $env(PWD)
+ } elseif {[pwd] eq {/}} {
+ cd $env(HOME)
+ }
+}
+
+unset gitexecdir gitguilib
+set argv [lrange $argv 1 end]
+source $AppMain_source