把meld设置为Mercurial的diff查看器

使用版本管理是一个不知道什么时候养成的习惯,由于基本上就自己一个人用,所以选用的是分布式的版本管理系统Mercurial。由于是一个人用,所以使用的功能相当的少,一般也就是checkin和checkout了,难得会用一下diff。不过由于一直没有研究,一直以来都是在文本界面下看unified diff……

图形化diff这个想法其实很久便有了。以前使用ClearCase的时候,界面虽然老土,但是图形化的diff还是非常方便的。终于在今天Dirk教我怎么在SVN下使用meld后,这个想法生根长草了。hg help diff了一下,又man hgrc了一下,都没有找到解决办法。这时候只好祭出骨骼,搜刮一通,终于发现了ExtdiffExtension这么个东东。

Extdiff是一个Mercurial的扩展,是默认随Mercurial一起发布的,所以启用起来非常简单,只要在hgrc中加入如下的两行就行。

[extensions]
hgext.extdiff =

完事之后就可以使用hg extdiff -p meld来进行版本比较了。不过这一长串的命令使用起来终究还是比较麻烦的,为了方便起见,继续编辑hgrc,加入以下两行。

[extdiff]
cmd.meld =

现在,就可以直接使用hg meld来进行比较大业了。比起终端界面,是不是亲切了许多?至于其他比较工具,比如kdiff3等,在Extdiff页面上也都有详细介绍,我这儿就不废话了。

Jay于2009-10-22 17:40更新:

刚刚随便乱翻Hg的扩展库,又发现了一个ColorExtension。可以在diff中使用颜色标明修改,启用还是一如既往的简单……

[extensions]
color =