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

[PATCH v3] gitk: Fix missing commits when using -S or -G

From
Stefan Dotterweich <stefandotterweich@gmx.de>
Date
Jun 4, 2016, 08:47 UTC
Message-ID
<1f857709-3c47-d4a1-b858-3288347416f8@gmx.de>
In-Reply-To
<fea42c3e-a028-3204-690f-88843d31c264@gmx.de>

When -S or -G is used as a filter option, the resulting commit list rarely contains all matching commits. Only a certain number of commits are displayed and the rest are missing.

"git log --boundary -S" does not return as many boundary commits as you might expect. gitk makes up for this in closevargs() by adding missing parent (boundary) commits. However, it does not change $numcommits, which limits how many commits are shown. In the end, some commits at the end of the commit list are simply not shown.

Change $numcommits whenever a missing parent is added.
Signed-off-by: Stefan Dotterweich <stefandotterweich@gmx.de>
---

Here is an updated version of the patch. Feel free to change it if anything is missing.

 gitk-git/gitk | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/gitk-git/gitk b/gitk-git/gitk
index 805a1c7..572da4a 100755
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -1315,7 +1315,7 @@ proc commitonrow {row} {
 
 proc closevarcs {v} {
     global varctok varccommits varcid parents children
-    global cmitlisted commitidx vtokmod
+    global cmitlisted commitidx vtokmod curview numcommits
 
     set missing_parents 0
     set scripts {}
@@ -1340,6 +1340,9 @@ proc closevarcs {v} {
 	    }
 	    lappend varccommits($v,$b) $p
 	    incr commitidx($v)
+	    if {$v == $curview} {
+		set numcommits $commitidx($v)
+	    }
 	    set scripts [check_interest $p $scripts]
 	}
     }
-- 
2.8.0
Previous: Stefan DotterweichNext: Paul Mackerras
Message 5 of 6 in “gitk: Fix missing commits when using -S or -G”
  1. gitk: Fix missing commits when using -S or -GStefan Dotterweich, May 6, 2016
  2. Stefan DotterweichMay 6, 2016
  3. Paul MackerrasMay 9, 2016
  4. Stefan DotterweichMay 9, 2016
  5. gitk: Fix missing commits when using -S or -GStefan Dotterweich, Jun 4, 2016
  6. Paul MackerrasDec 12, 2016

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.