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

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

From
Tim Henigan <tim.henigan@gmail.com>
Date
Mar 29, 2010, 14:29 UTC
Message-ID
<32c343771003290729x49407af7hf404b60203d123ac@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
    the '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>
---
This is a resend with Paul Mackerras added to the CC list.
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.
I copied the people that were involved in the earlier thread [1].
[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 listTim Henigan, Mar 29, 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.