如何限制gitk中显示的差异行数?

时间:2020-05-20 11:20:36

标签: diff gitk

正在寻找一个选项/变通办法来限制任何特定文件(例如,仅前N行)的差异内容(如底部面板所示),因为补丁/差异可能太大而导致GUI冻结。我确实尝试了git diff接受的不同选项,但是看不到任何将它们传递给gitk的方法(与git-gui不同)。请注意,限制上下文的行数不起作用,因为diff仍将以零上下文显示。

1 个答案:

答案 0 :(得分:1)

您将不得不更改gitk的源代码。这是一个很大的Tcl / Tk文件,您可以直接编辑或制作副本。它的位置可能取决于您的操作系统。如果您使用的是Linux或MacOS,则可能是/usr/bin/gitk/usr/local/bin/gitk

在过程diffcmd中,更改以下行:

set cmd [concat | git diff-tree -r $flags $ids]

您可以添加diff-tree自变量,或简单地将diff输出通过管道传递到另一个程序,例如head

set cmd [concat | git diff-tree -r $flags $ids | head -n500]

这适用于完整的差异,而不仅仅是一个文件。