1. 程式人生 > >Ubuntu下使用bcompare進行svn檔案diff處理

Ubuntu下使用bcompare進行svn檔案diff處理

如果有在ubuntu下使用svn的朋友應該知道,其預設的diff工具相當難用。雖然可以使用colordiff來替代diff,但還是不如使用bcompare來的方便。那能不能使用beyond compare作為其預設的對比工具呢?當然可以!

1、首先下載並安裝Beyond compare。可在下面網站下載linux版本

2、安裝svn

3、進入.subversion資料夾,新建兩個.sh檔案

   bc2.sh

#!/bin/sh

# Configure your favorite diff program here.
DIFF=bcompare

# Subversion provides the paths we need as the sixth and seventh 
# parameters.
LEFT=${6}
RIGHT=${7}

# Call the diff command (change the following line to make sense for
# your merge program).
$DIFF --left $LEFT --right $RIGHT

# Return an errorcode of 0 if no differences were detected, 1 if some were.
# Any other errorcode will be treated as fatal.

bc3.sh

#!/bin/sh

# Configure your favorite diff3/merge program here.
DIFF3=bcompare
# Subversion provides the paths we need as the ninth, tenth, and eleventh 
# parameters.
MINE=${9}
OLDER=${10}
YOURS=${11}

# Call the merge command (change the following line to make sense for
# your merge program).
$DIFF3 --older $OLDER --mine $MINE --yours $YOURS

# After performing the merge, this script needs to print the contents
# of the merged file to stdout.  Do that in whatever way you see fit.
# Return an errorcode of 0 on successful merge, 1 if unresolved conflicts
# remain in the result.  Any other errorcode will be treated as fatal.
將兩個批處理檔案改變為可執行狀態。

4、修改.subversion/config檔案

[helpers]中新增如下兩句

diff-cmd = /home/xxx/.subversion/bc2.sh                                                                                                                      
diff3-cmd = /home/xxx/.subversion/bc3.sh

OK

當然,也可以將bcompare改為其他對比工具,例如meld等。