TortoiseSVN
自带的差异比较版本合并程序只能处理纯文本文件,而对于常用的 Word 文档则无能为力。经过我一番试验,终于搞定了这个问题。
第一步:创建一个包含宏的Word文档
启动 Word,然后选择“工具->宏->Visual Base编辑器”菜单启动VB编辑器。在编辑器左侧的“Normal”项目上点击鼠标右键,选择“插入->模块”菜单。然后输入下列代码:
Sub SvnCompare()
If Documents.Count 2 Then Exit Sub
ActiveDocument.Compare Documents(2).Path & _
"\" & Documents(2).Name, "Comparison"
End Sub
Sub SvnMerge()
If Documents.Count 2 Then Exit Sub
ActiveDocument.Merge Documents(2).Path & _
"\" & Documents(2).Name
End Sub
保存后关闭 Word。
第二步:设置 TortoiseSVN
接下来选择“TortoiseSVN->Settings”菜单,并切换到“差异比较/合并”选项卡。点击“差异比较程序”组中的“高级设置”按钮,再点击“添加”按钮。输入文件扩展名为“doc”,再点击“…”按钮并选中
C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE,并在头尾各输入一个英文引号。后面再加上
“%base” “%mine” /w /mSvnCompare。
最后重复这个步骤并分别设置扩展名为 .dot、.rtf。
现在我们双击“日志”条目,就可以自动启动 Word 来比较差异了。
除了进行比较外,还可以将两个版本合并到一起。要进行 Word 文档的合并,还是进入 TortoiseSVN
的“差异比较/合并”选项卡,并点击“合并程序”组中的“高级设置”按钮。按照前面的步骤添加对 .doc、.dot和
.rtf 文件的处理。但 winword.exe 后面的参数要改成 “%merged” “%theirs”
/w /mSvnMerge。
|