threads / patch / 37523

patchgitk: show detached HEAD if --all is specified

Subject: [PATCH] gitk: show detached HEAD if --all is specified

## tl;dr

3 messages between Sep 9, 2014 and Sep 9, 2014. Diffs are folded; open one to read it.

replies: 2people: 2as markdown or json

Max Kirillov· Sep 9, 2014, 07:29 UTC · lore

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>
---
 gitk | 2 ++
 1 file changed, 2 insertions(+)
Show changes to gitk +2 −0
diff --git a/gitk b/gitk
index c8df35d..a5d98bf 100755
--- 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
-- 
2.0.1.1697.g73c6810
Junio C Hamano· Sep 9, 2014, 17:02 UTC · re: Max Kirillov · lore

Re: [PATCH] gitk: show detached HEAD if --all is specified

Max Kirillov <max@max630.net> writes:
> 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.

"git log" does use the same revision machinery as rev-parse uses internally to parse its command line arguments. What does it do differently?

Junio C Hamano· Sep 9, 2014, 17:04 UTC · re: Junio C Hamano · lore

Re: [PATCH] gitk: show detached HEAD if --all is specified

Junio C Hamano <gitster@pobox.com> writes:
Show 8 quoted lines
> Max Kirillov <max@max630.net> writes:
>
>> 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.
>
> "git log" does use the same revision machinery as rev-parse uses
> internally to parse its command line arguments.  What does it do
> differently?

Ah, nevermind. I misremembered that rev-parse does not use the revision machinery.

← back to recent threads