而不是运行“svn diff”,“hg diff”等......我们可以编写一个相应地调用svn/hg/git的命令吗? diff输出可以变得漂亮吗?VCS独立差异
编辑:首选命令行工具(不是GUI)。
而不是运行“svn diff”,“hg diff”等......我们可以编写一个相应地调用svn/hg/git的命令吗? diff输出可以变得漂亮吗?VCS独立差异
编辑:首选命令行工具(不是GUI)。
如果您不得不再次输入“svn diff”或“hg diff”,只是为了以较少的值对页面进行分页。此外,当文本编辑器很可能会语法高亮显示时,终端中的差异输出不应该以适当的颜色突出显示。
alt text http://img25.imageshack.us/img25/8597/colordiff.png
您需要colordiff可以通过apt或使用MacPorts安装。
下面的bash函数将使您能够在您选择的VCS的工作目录下键入'dif'(不需要指定它是hg还是svn)。
function dif {
if [ -d .hg ]; then
VC='hg'
elif [ -d .svn ]; then
VC='svn'
else
echo "cannot find VC type"
return 1
fi
$VC diff $1 | colordiff | less -R
}
它应该很容易增加对其他VCS工具支持(GIT,CVS等)
此外,如果您已经安装UVC(按瑞安威尔考克斯的答案),上面的脚本可以简化为:
function dif {
uvc diff $1 | colordiff | less -R
}
你可以折叠你的'test'和'if'语句:'if [-d .hg];那么'你也应该用'if ... elif ... else'(或者使用'case'语句)来平衡你的'if'。 – 2010-01-18 10:26:29
Thx,我修改了代码。 – 2010-01-18 22:45:36
'pyvcs'包似乎没有安装任何脚本;它只提供一个抽象的API吗? – 2010-01-19 07:24:02
哇,但我想你是对的。我的错。 – RyanWilcox 2010-01-19 23:49:41
谢谢你的UVC参考,我已经更新了我的脚本以使用UVC。 – 2010-01-20 17:26:08
尝试Diffuse。它会找出合适的版本控制系统,并以不错的语法高亮显示差异。
更适合于SO? – Sathya 2010-01-18 06:04:48