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

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

From
Tim Henigan <tim.henigan@gmail.com>
Date
Mar 27, 2010, 01:17 UTC
Message-ID
<32c343771003261817o131ae413udb9dc579c936f5db@mail.gmail.com>
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 <tim.henigan@gmail.com>
---
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
Message 1 of 1 in “gitk: Ignore limitdiffs option when displaying commit file list.”
  1. gitk: Ignore limitdiffs option when displaying commit file list.Tim Henigan, Mar 27, 2010

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.