使 diff 输出更具可读性

使 diff 输出更具可读性

我正在寻找一个可以获取 diff / debdiff 输出的工具(更具体地说,输出这个脚本) 并以高度可读的图形方式显示比较结果。任何指示都将不胜感激。

理想情况下,它应该是 GTK+,FOSS 等同于耐多药

Meld、Diffuse 和类似软件不适合此目的,因为它们旨在独立工作,并且不接受来自标准输入的输入。

答案1

比较可以做到这一点(并且在我看来是最好的 GUI 差异查看器):

./whatchanged package_name | kompare -

请注意输入文件参数中给出的“-”。大多数 *nix 程序都有此接口来接受管道输入,因此您可能可以使用您喜欢的任何一个。

答案2

如果您只有一个控制台,colordiff这是一个相当不错的解决方案。

要安装它,请sudo apt-get install colordiff在终端中运行此命令

答案3

我喜欢用vim的内部语法高亮显示为分页器,这样我就可以查看彩色差异。例如,将其放入您的.bashrc

sudo apt-get install vim
alias vless='vim -u /usr/share/vim/vimcurrent/macros/less.vim'

(然后使用 重新获取你的资源.bashrc. ~/.bashrc)然后你就可以vless作为你的寻呼机运行:

vless /path/to/your.diff

它不是图形,但至少是突出显示的。

答案4

我将使用这个简单的脚本来使用 meld(或任何其他现有工具),这样你就可以获得一点灵活性:

#!/bin/bash

TMPDIR=`mktemp -d`
DIFF_FILE=`mktemp`
TARGET='./'

cat /proc/$$/fd/0 > $DIFF_FILE
cd $TARGET
rsync -apvz --delete --stats --compress --progress $TARGET $TMPDIR
patch -R -p0 -d $TMPDIR < $DIFF_FILE
meld $TARGET $TMPDIR

使用 meld 和 bzr diff 的输出进行测试,因此将其复制到 /usr/bin 和 chmod 755 然后我执行以下操作:

bzr diff | meld-diff

結果顯示正如預期的那样。

相关内容