diff options
author | Stefan Dotterweich <stefandotterweich@gmx.de> | 2016-06-04 10:47:16 +0200 |
---|---|---|
committer | Paul Mackerras <paulus@ozlabs.org> | 2016-12-12 11:38:29 +1100 |
commit | d92aa57039cf2e4acae6aedfe4a4d6bf39562763 (patch) | |
tree | 40147e158dae35af6ececb96d1b0bfff140f927d | |
parent | 6e8fda5fd2d30d9e9e83af146b64c5b13ee7f2ef (diff) | |
download | git-d92aa57039cf2e4acae6aedfe4a4d6bf39562763.tar.gz |
gitk: Fix missing commits when using -S or -G
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 closevarcs() 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 to the current
view.
Signed-off-by: Stefan Dotterweich <stefandotterweich@gmx.de>
Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
-rwxr-xr-x | gitk | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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] } } |