git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Gitk strangeness..

From
Paul Mackerras <paulus@samba.org>
Date
Mar 28, 2006, 22:51 UTC
Message-ID
<17449.48630.370867.10251@cargo.ozlabs.ibm.com>
In-Reply-To
<7vzmjbj9a1.fsf@assigned-by-dhcp.cox.net>
Junio C Hamano writes:
> How about this alternative patch, then?  It turned out to be
> quite convoluted as I feared.

That's brilliant. Thank you! With the patch to gitk below, the graph display on Linus' example looks much saner.

Could you check in your patch to the git.git repository, please?

Thanks, Paul.

diff --git a/gitk b/gitk
index 03cd475..1989aa5 100755
--- a/gitk
+++ b/gitk
@@ -46,7 +46,7 @@ proc start_rev_list {rlargs} {
     }
     if {[catch {
 	set commfd [open [concat | git-rev-list --header $order \
-			      --parents $rlargs] r]
+			      --parents --boundary $rlargs] r]
     } err]} {
 	puts stderr "Error executing git-rev-list: $err"
 	exit 1
@@ -114,8 +114,13 @@ proc getcommitlines {commfd}  {
 	set start [expr {$i + 1}]
 	set j [string first "\n" $cmit]
 	set ok 0
+	set listed 1
 	if {$j >= 0} {
 	    set ids [string range $cmit 0 [expr {$j - 1}]]
+	    if {[string range $ids 0 0] == "-"} {
+		set listed 0
+		set ids [string range $ids 1 end]
+	    }
 	    set ok 1
 	    foreach id $ids {
 		if {[string length $id] != 40} {
@@ -133,8 +138,12 @@ proc getcommitlines {commfd}  {
 	    exit 1
 	}
 	set id [lindex $ids 0]
-	set olds [lrange $ids 1 end]
-	set commitlisted($id) 1
+	if {$listed} {
+	    set olds [lrange $ids 1 end]
+	    set commitlisted($id) 1
+	} else {
+	    set olds {}
+	}
 	updatechildren $id $olds
 	set commitdata($id) [string range $cmit [expr {$j + 1}] end]
 	set commitrow($id) $commitidx
Previous: Junio C HamanoNext: Junio C Hamano
Message 25 of 33 in “What's in git.git”
  1. Junio C HamanoMar 28, 2006
  2. Add ALL_LDFLAGS to the git target.Jason Riedy, Mar 28, 2006
  3. Junio C HamanoMar 28, 2006
  4. Jason RiedyMar 28, 2006
  5. Junio C HamanoMar 28, 2006
  6. Jason RiedyMar 28, 2006
  7. Mark WoodingMar 28, 2006
  8. Linus TorvaldsMar 28, 2006
  9. Junio C HamanoMar 28, 2006
  10. Jason RiedyMar 28, 2006
  11. Junio C HamanoMar 29, 2006
  12. Mark WoodingMar 28, 2006
  13. Support for pickaxe matching regular expressionsPetr Baudis, Mar 29, 2006
  14. Johannes SchindelinMar 29, 2006
  15. Petr BaudisMar 29, 2006
  16. Gitk strangeness..Linus Torvalds, Mar 28, 2006
  17. Junio C HamanoMar 28, 2006
  18. Paul MackerrasMar 28, 2006
  19. Linus TorvaldsMar 28, 2006
  20. Junio C HamanoMar 28, 2006
  21. Paul MackerrasMar 28, 2006
  22. Junio C HamanoMar 28, 2006
  23. Paul MackerrasMar 28, 2006
  24. Junio C HamanoMar 28, 2006
  25. Paul MackerrasMar 28, 2006
  26. Junio C HamanoMar 29, 2006
  27. Junio C HamanoMar 29, 2006
  28. Alex RiesenMar 30, 2006
  29. Paul MackerrasMar 30, 2006
  30. Paul MackerrasMar 30, 2006
  31. Junio C HamanoMar 31, 2006
  32. Alex RiesenMar 31, 2006
  33. Linus TorvaldsMar 28, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.