Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
git-gui: work from the .git dir
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>
git-gui.sh
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
390425b
)
diff --git
a/git-gui.sh
b/git-gui.sh
index e3473a81a6b63bfb7b9cd1907ad384957235bbf4..1fb3cbfc78fe07e658aa299f46fd8f55dbab1378 100755
(executable)
--- a/
git-gui.sh
+++ b/
git-gui.sh
@@
-1074,6
+1074,8
@@
if {[catch {
set _prefix {}
}]
&& [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]} {
set _gitdir [git rev-parse --git-dir]
set _prefix [git rev-parse --show-prefix]
} err]} {
@@
-1082,6
+1084,14
@@
if {[catch {
choose_repository::pick
set picked 1
}
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]}
}
if {![file isdirectory $_gitdir] && [is_Cygwin]} {
catch {set _gitdir [exec cygpath --windows $_gitdir]}
}