适用于Linux的可视补丁工具

Eug*_*hov 37 linux diff user-interface patch

我有一个文件和一个补丁.我想在视觉上应用补丁,看看补丁提出的更改如何在上下文中查看,进行一些更正,并保存生成的文件.

什么工具可以做到这一点?

视觉差异工具(即meld,diffuse,diffmerge)都不能满足我的要求:它们不能使用补丁,它们只是合并整个文件.

ini*_*ero 24

我真的很喜欢Kompare.它只是diff的一个(非常好的)图形界面.

http://www.caffeinated.me.uk/kompare/

sudo apt-get install kompare

创建和应用补丁

Kompare能够创建一个补丁文件,该文件仅列出两个比较文本文件A和B之间的差异.此外,Kompare可以将以这种方式创建的补丁文件应用于原始文件A,并以此方式重新计算内容相应的文件B.这是一个舒适的实用程序,用于将已更正的文件版本传递给已经拥有相同文件的旧版本的朋友,因为只有(相对较小的)补丁文件必须传递且接收者可以生成通过将修补程序应用于原始文件来更正文件.

由Kompare创建和应用的补丁与命令行界面diff实用程序生成或应用的补丁文件兼容,因为Kompare实际上只是diff的图形前端,补丁由补丁创建和应用,由Kompare调用.

  • 好极了!Kompare是一个非常漂亮的工具.我通常使用GNOME,因此KDE deps让我暂时不使用它,但它绝对值得.它唯一缺少的是Meld/TortoiseDiff突出显示滚动边距的差异,但我可以随时使用Meld. (2认同)

eph*_*ent 15

请参阅使用带有diff文件的vimdiff.

gvim original.file +'vert diffpa the.patch'

这将打开GVim并拆分窗口,左边是原件,右边是补丁.然后,您可以添加,删除或更改数据,并保存更改.(好吧,如果你想创造一个new.patch你必须diff再次跑,但这并不困难.)


Pas*_*uoq 7

您可以使用emacs ediff模式.它允许您以交互方式查看和验证每个块.为了它的价值,我在〜/ bin目录中有这个方便的脚本:

#!/bin/bash
if [ "$1" == "--text" ] ; then shift; fi
if diff --brief $1 $2 ; then 
exit 0 
else
emacs -fn 8x13bold --eval '(ediff-files "'$1'" "'$2'")'
fi
Run Code Online (Sandbox Code Playgroud)