From: Giuseppe Bilotta Date: Sat, 23 Jan 2010 10:03:36 GMT Subject: [PATCHv4 3/5] git-gui: work from the .git dir Message-ID: <1264241018-6616-4-git-send-email-giuseppe.bilotta@gmail.com> In-Reply-To: <1264241018-6616-1-git-send-email-giuseppe.bilotta@gmail.com> When git-gui is run from a .git dir, _gitdir would be set to "." by rev-parse, something that confuses the worktree detection. Fix by expanding the value of _gitdir to pwd in this special case. Signed-off-by: Giuseppe Bilotta --- git-gui/git-gui.sh | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/git-gui/git-gui.sh b/git-gui/git-gui.sh index d0dff40..c5c787d 100755 --- a/git-gui/git-gui.sh +++ b/git-gui/git-gui.sh @@ -1102,6 +1102,8 @@ if {[catch { set _prefix {} }] && [catch { + # beware that from the .git dir this sets _gitdir to . + # and _prefix to the empty string set _gitdir [git rev-parse --git-dir] set _prefix [git rev-parse --show-prefix] } err]} { @@ -1110,6 +1112,14 @@ if {[catch { choose_repository::pick set picked 1 } + +# we expand the _gitdir when it's just a single dot (i.e. when we're being +# run from the .git dir itself) lest the routines to find the worktree +# get confused +if {$_gitdir eq "."} { + set _gitdir [pwd] +} + if {![file isdirectory $_gitdir] && [is_Cygwin]} { catch {set _gitdir [exec cygpath --windows $_gitdir]} } -- 1.6.6.rc1.295.g3a4e71