使用svn默认的代码比较工具过程中,有时候代码改动比较大了,就被"svn diff"的输出给弄晕了,后来发现了一个小巧的colordiff软件,使用该软件不但能使用代码改动能以更有条理的方式显示,同时还能通过更改它的配置文件colordiffrc来更改输出结果中的显示颜色,好了,现在让我们看看这个东西怎么用吧。
软件本身很小巧,只有16K大小,安装也很简单,将下载到的包解压后,直接进入目录中执行"make install"即可,程序和配置文件分别默认安装在/usr/local/bin和/etc目录下。可以通过更改/etc/colordiffrc配置你自己喜欢的颜色。笔者的配置文件如下:
# Example colordiffrc file for dark backgrounds
#
# Set banner=no to suppress authorship info at top of
# colordiff output
banner=no
# By default, when colordiff output is being redirected
# to a file, it detects this and does not colour-highlight
# To make the patch file *include* colours, change the option
# below to 'yes'
color_patches=no
#
# available colours are: white, yellow, green, blue,
# cyan, red, magenta, black,
# darkwhite, darkyellow, darkgreen,
# darkblue, darkcyan, darkred,
# darkmagenta, darkblack
#
# Can also specify 'none', 'normal' or 'off' which are all
# aliases for the same thing, namely "don't colour highlight
# this, use the default output colour"
#
plain=off
newtext=darkyellow
oldtext=red
diffstuff=magenta
cvsstuff=green
默认的命令还不够方便,这时我们可以写一个脚本,笔者的脚本如下:
#!/bin/sh
# svn diff
case $# in
0)
svn diff --diff-cmd colordiff -x "-i -b";;
1)
svn diff --diff-cmd colordiff -x "-i -b" $1;;
2)
svn diff -r $1 --diff-cmd colordiff -x "-i -b" $2;;
*)
echo "wrong param!!!"
esac
将这个脚本保存放在PATH变量的某个目录下,接下来看一下执行效果吧,我在工程源代码的拷贝目录下修改了一个文件,增加了一行语句,
看一下我在执行svndiff命令后得到输出吧
对比一下使用svn自带的命令的输出,是不是感觉好了很多呢?