用于Linux的Visual SVN diff和比较工具

Lak*_*sad 25 linux svn git diff

哪个是适用于Linux的最佳Visual SVN Diff显示器.

BeyondCompare和VisualSVN 1.5在Windows上运行良好.什么是Linux的等效工具?(特别是Ubuntu).

我知道命令行差异工作; 但我希望突出显示多列语法和差异.

如果该工具也支持Git和Hg,那就更好了.

Bja*_*sen 42

我一直在使用meld用于此目的,在Ubuntu中你可以这样做:

apt-get install meld
Run Code Online (Sandbox Code Playgroud)

我认为它只进行双向比较,但通常这只是你需要的,而且只有差异才会显示你.

当您使用SVN发生冲突并且必须进行合并时,通常会获得4个文件AFAIR.

  • file.mine - 与svn update之前的本地更改的文件.
  • file.r <n> - 您在其上创建本地更改的修订版.
  • file.r <n + m> - 您从svn更新到的修订版,通常是HEAD.
  • file - Subversions尝试将更改合并到更新的文件中.

因此,要使用meld合并您的更改,您将执行以下操作:

meld file.mine file.<n+m>
Run Code Online (Sandbox Code Playgroud)

并将您的更改合并到从svn更新的版本中,或者相反.通常使用大多数更改将文件与对文件的最少更改合并更容易.

最后你将使用合并文件覆盖文件并执行以下操作:

svn resolved file
Run Code Online (Sandbox Code Playgroud)

  • 我相信meld现在支持三方合并. (6认同)

小智 8

Diffuse支持Subversion,Mercurial,Git和其他几个版本控制系统.它也适用于Windows.对于Ubuntu,只需使用"$ sudo dpkg -i diffuse - *.deb"安装.deb软件包,然后运行"diffuse -m"查看更改或修复合并冲突.


ang*_*son 7

Beyond Compare也支持Linux.如果你已经喜欢BC for Windows,我会说有一个胜利者.


Von*_*onC 6

注意:如果你的diff工具有一个CLI(一个命令行界面),它可以非常容易地与Git集成,用于diff和merge(如果它支持3路合并).
从Git1.6.3开始,difftool- mergetool选项允许您集成该diff程序(参见" 如何git diff使用visual diff程序查看' '输出? ").

例如,KDiff3是一个很好的候选者,因为它甚至可以被Git自动检测到.