gitk: Show detached HEAD if --all is specified
authorMax Kirillov <max@max630.net>
Tue, 9 Sep 2014 07:29:16 +0000 (10:29 +0300)
committerPaul Mackerras <paulus@samba.org>
Wed, 29 Oct 2014 22:43:15 +0000 (09:43 +1100)
If HEAD is detached, 'gitk --all' does not show it. This is inconvenient
for frontend program, and for example git log does show the detached HEAD.

gitk uses git rev-parse to find a list of branches to show.
Apparently, the command does not include detached HEAD to output if
--all argument is specified. This has been discussed in [1] and stated
as expected behavior. So rev-parse's parameters should be tuned in gitk.

[1] http://thread.gmane.org/gmane.comp.version-control.git/255996

Signed-off-by: Max Kirillov <max@max630.net>
Signed-off-by: Paul Mackerras <paulus@samba.org>
gitk
diff --git a/gitk b/gitk
index bfc5cfabd312ff6efe43bb84fe9e8d0f0d970ab1..84f1405d4dec264369aa0e5727ad2f122c277c12 100755 (executable)
--- a/gitk
+++ b/gitk
@@ -294,6 +294,8 @@ proc parseviewrevs {view revs} {
 
     if {$revs eq {}} {
        set revs HEAD
+    } elseif {[lsearch -exact $revs --all] >= 0} {
+       lappend revs HEAD
     }
     if {[catch {set ids [eval exec git rev-parse $revs]} err]} {
        # we get stdout followed by stderr in $err