gitk: Simplify calculation of gitdir

Since 5024baa ([PATCH] Make gitk work when launched in a subdirectory,
2007-01-09), gitk has used 'git rev-parse --git-dir' to find the .git
directory. However, gitk still first checks for the $GIT_DIR
environment variable and that the value returned from git-rev-parse
does not point to a file. Since git-rev-parse does both of these
checks already, the checks can safely be removed from gitk. This makes
the gitdir procedure small enough to inline.

This cleanup introduces a UI regression in that the error message will
now be "Cannot find a git repository here." even in the case where
GIT_DIR points to a file, for which the error message was previously
"Cannot find the git directory \"%s\".". It should be noted, though,
that even before this patch, 'gitk --git-dir=path/to/some/file' would
give the former error message.

Signed-off-by: Martin von Zweigbergk <martin.von.zweigbergk@gmail.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Martin von Zweigbergk 2011-04-04 22:14:18 -04:00 committed by Paul Mackerras
parent da616db5e5
commit 86e847bcbf

15
gitk
View File

@ -9,15 +9,6 @@ exec wish "$0" -- "$@"
package require Tk package require Tk
proc gitdir {} {
global env
if {[info exists env(GIT_DIR)]} {
return $env(GIT_DIR)
} else {
return [exec git rev-parse --git-dir]
}
}
# A simple scheduler for compute-intensive stuff. # A simple scheduler for compute-intensive stuff.
# The aim is to make sure that event handlers for GUI actions can # The aim is to make sure that event handlers for GUI actions can
# run at least every 50-100 ms. Unfortunately fileevent handlers are # run at least every 50-100 ms. Unfortunately fileevent handlers are
@ -11523,14 +11514,10 @@ setui $uicolor
setoptions setoptions
# check that we can find a .git directory somewhere... # check that we can find a .git directory somewhere...
if {[catch {set gitdir [gitdir]}]} { if {[catch {set gitdir [exec git rev-parse --git-dir]}]} {
show_error {} . [mc "Cannot find a git repository here."] show_error {} . [mc "Cannot find a git repository here."]
exit 1 exit 1
} }
if {![file isdirectory $gitdir]} {
show_error {} . [mc "Cannot find the git directory \"%s\"." $gitdir]
exit 1
}
set selecthead {} set selecthead {}
set selectheadid {} set selectheadid {}