446f8226dd
The current working directory is set to / when git-gui is invoked using the Git Gui.app bundle on Mac OS X. This means that if it is launched from a directory which contains a repository then git-gui won't automatically find it unless the repository happens to be located in /. The PWD environment variable is however preserved if the bundle is invoked using open(1). If git-gui would check for PWD then a user could for example type open -a 'Git Gui' on a command line in order to launch the program and it would automatically find the repository. Teach git-gui to use the PWD environment variable on Mac OS X. Signed-off-by: Marcus Karlsson <mk@acc.umu.se> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Pat Thoyts <patthoyts@users.sourceforge.net>
25 lines
608 B
Tcl
25 lines
608 B
Tcl
set gitexecdir {@@gitexecdir@@}
|
|
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
|