让TortoiseSVN使用类似TortoiseCVS的文件冲突解决方式
2.在TortoiseSVN的Setting中选择合并工具(Merge Tool)页面,设置使用外部合并工具(External),在命令行中设置外部合并工具的命令行如下:
"D:\Applications\DevTools\TortoiseSVN\TSVNMerge.bat" %mine %theirs %merged %base
3.在使用TortoiseSVN编辑冲突文件时,系统会自动打开冲突文件的Mine版本和Theirs版本进行比较合并,用户将所有的修改合并到Mine版本中,当手工编辑冲突完成后,将自动用合并后的Mine版本替代Merged版本,并删除其他文件;这时使用TortoiseSVN的“标识为已解决”,即可进行提交。
此方法可以使用任何支持双向文件比较/合并的工具。
解决方案存在的问题:
这不是一个完美的解决方案,由于使用的是功能有限的批处理文件,因此存在以下问题:
1.无法判断用户是否进行了合并操作,如果没有进行合并操作,也会进行后面的删除和复制操作;
2.有时候会发生复制时提示Merged文件无法修改的情况,这可能是由于比较工具尚未完全退出造成的;
上面的问题可以通过自己编写程序解决,第一个问题通过用文件监视器监视Mine文件来判断是否进行了修改;第二个文件可以通过监视比较工具的进程进行判断。
?