[PATCH/RFC] gitk: Ignore limitdiffs option when displaying commit file list.

From: Tim Henigan <hidden>
Date: 2016-06-15 22:48:30
Subsystem: the rest · Maintainer: Linus Torvalds

When gitk is invoked with a path argument (e.g. gitk gitk-git),
the path is used to filter the list of files displayed in the
lower right window.  If a file does not start with the specified
substring, it is not displayed.  This is counter-intuitive for
a couple reasons:
  1) The files continue to be listed in the diff window.
  2) Merge commits (i.e. commits with more than 1 parent still
     show the complete list of files in the lower right since
     these commits are processed by mergediff rather than
     startdiff function.

With this change, the complete list of files affected by a
commit will always be shown in the lower right window.

Signed-off-by: Tim Henigan <redacted>
---

I noticed this issue recently when trying gitk.  After some research, I found
this thread [1] which explained the issue.  However, the operation still does
not seem consistent.  This patch fixes the "problem" that I encountered, but
I can't help wondering:
    1) I am breaking another feature?  Especially since the
'$vfilelimit($curview) ne {}'
        check is now ignored.
    2) Can the limitdiffs option be completely removed?  If not, the behavior
        of startdiff and mergediff should at least be made consistent.

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

 gitk-git/gitk |   12 +-----------
 1 files changed, 1 insertions(+), 11 deletions(-)
diff --git a/gitk-git/gitk b/gitk-git/gitk
index 1f36a3e..518061e 100644
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -7450,17 +7450,7 @@ proc gettreediffline {gdtf ids} {
 	return [expr {$nr >= $max? 2: 1}]
     }
     close $gdtf
-    if {$limitdiffs && $vfilelimit($curview) ne {}} {
-	set flist {}
-	foreach f $treediff {
-	    if {[path_filter $vfilelimit($curview) $f]} {
-		lappend flist $f
-	    }
-	}
-	set treediffs($ids) $flist
-    } else {
-	set treediffs($ids) $treediff
-    }
+    set treediffs($ids) $treediff
     unset treepending
     if {$cmitmode eq "tree" && [llength $diffids] == 1} {
 	gettree $diffids
-- 
1.7.0.3.291.g5e4f6.dirty
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help