我们对 Word 文档进行并发编辑,我想确保 Subversion 可以处理合并 .doc 文件。你知道 Subversion 是否能很好地处理 Word 文档的合并吗?
10 回答
使用TortoiseSVN合并实用程序和xdocdiff插件来比较和合并 Office 文档
您可以在其默认安装中使用TortoiseSVN来查看差异并执行 Word 文档的合并,它只是打开 Word 并使用 Word 自己的审阅/更改模式来执行此操作。
编辑:默认情况下,它还具有针对 PowerPoint、Excel、OpenOffice 和 StarOffice 格式的不同功能。(检查 TortoiseSVN\Diff-Scripts 目录)。
我会将svn:needs-lock属性添加到存储在 Subversion 中的 Word 文档中,这样人们就需要在编辑之前锁定文件。这将大大有助于防止合并冲突。
这就是我们在工作中所做的,而且效果很好。(我们没有选择必须使用 Word 文档,因此这个解决方案而不是更改文件类型。)
Word 文档是二进制的,所以不是。编辑人员是否知识渊博,可以教他们如何使用像 reStructuredText 或 LaTeX 这样的纯文本格式?
否:由于 Word 使用二进制文件格式,svn 根本无法合并文件。
但是,Word 本身具有合并功能。如果您必须解决合并冲突,您可以尝试这样做。
您可以使用 Word(另存为 .. XML 文档)将 docx 文档保存为“平面 OPC”XML 格式。
这样你就得到了一个纯文本文件。
不过,您需要注意的是,关系 ID 不会被破坏。
例如:
用户 A 向文档添加图像(或超链接、评论或脚注等),并执行 svn 提交。
用户 B(没有 svn 更新)在 Word 中添加其中一项,另存为 xml,然后进行 svn 更新。
此时用户 B 不太可能在 Word 中打开文档,因此他最好不要提交。如果您可以对此进行控制,或者准备手动解决问题,那么您会没事的。
否则,您可以考虑像我的 Plutext 协作软件,它在 Alfresco 中分解文档并对其组成部分进行版本化。
您也可以考虑使用非二进制格式,如 Html
我目前正在开发一个使用 SharpSVN 连接到存储库的 Word 插件。在当前状态下,创建和选择新文档有点复杂,但这不应该是一个大问题。
因此,当您(最终)在存储库中有一个文档时,提交和从任何修订进行更新都非常简单。您可以将这些 .docx 文件与 Word 的内置比较或合并功能进行比较和合并。其实很简单。希望在接下来的几周左右完成。
您不能使用 Subversion 自动合并 Word 文档。没有 3 路合并支持(即使使用 Tortoise SVN)。如果您不使用 Word,则可以使用在线文档编辑器,例如Revisionator。它支持所见即所得文档的三向合并。还有其他版本控制功能(差异、分叉等)。
此页面 http://newgeeks.blogspot.com/2006/08/word-document-management-using-svn.html 逐步提供有关如何使用 totoiseSVN 进行 Microsoft Word 文档版本管理的信息。