如何限制 gitk 中显示的差异行数?
How to limit number of diff lines shown in gitk?
正在寻找 option/workaround 来限制任何特定文件的差异内容(显示在底部面板中)(例如,仅限前 N 行),因为 patch/diff 可能太大并且导致 GUI 冻结。我确实尝试了 git diff
接受的不同选项,但没有看到任何方法将它们传递给 gitk
(与 git-gui
不同)。请注意,限制上下文行数不起作用,因为差异仍将显示为零上下文。
您将不得不更改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]
这适用于完整的差异,而不仅仅是一个文件。
正在寻找 option/workaround 来限制任何特定文件的差异内容(显示在底部面板中)(例如,仅限前 N 行),因为 patch/diff 可能太大并且导致 GUI 冻结。我确实尝试了 git diff
接受的不同选项,但没有看到任何方法将它们传递给 gitk
(与 git-gui
不同)。请注意,限制上下文行数不起作用,因为差异仍将显示为零上下文。
您将不得不更改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]
这适用于完整的差异,而不仅仅是一个文件。