summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 390425b)
raw | patch | inline | side by side (parent: 390425b)
author | Giuseppe Bilotta <giuseppe.bilotta@gmail.com> | |
Sat, 23 Jan 2010 10:03:36 +0000 (11:03 +0100) | ||
committer | Shawn O. Pearce <spearce@spearce.org> | |
Sat, 23 Jan 2010 23:14:04 +0000 (15:14 -0800) |
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 <giuseppe.bilotta@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
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 <giuseppe.bilotta@gmail.com>
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
git-gui.sh | patch | blob | history |
diff --git a/git-gui.sh b/git-gui.sh
index e3473a81a6b63bfb7b9cd1907ad384957235bbf4..1fb3cbfc78fe07e658aa299f46fd8f55dbab1378 100755 (executable)
--- a/git-gui.sh
+++ b/git-gui.sh
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]} {
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]}
}