svn中使用图形化工具对比及merge

时间:2021-11-30 14:51:09

Ubuntu命令行svn中使用图形化工具对比及merge

(当然,也可以将beyond compare改为其他对比工具,例如meld等...)

1、首先安装svn、Beyond compare



2.进入 ~/.subversion/文件夹,新建两个.sh文件
diff_bc.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.
exit 0


merge_bc.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.
exit 0


3.将两个批处理文件改变为可执行状态。
chmod +x ~/.subversion/diff_bc.sh
chmod +x ~/.subversion/merge_bc.sh


4、修改 ~/.subversion/config文件
[helpers]中添加如下两句
diff-cmd = /home/xxx(用户名)/.subversion/diff_bc.sh                                                                                                                     
diff3-cmd = /home/xxx(用户名)/.subversion/merge_bc.sh