版本控制(即 Subversion)是不是适用于文档跟踪? [关闭]
Posted
技术标签:
【中文标题】版本控制(即 Subversion)是不是适用于文档跟踪? [关闭]【英文标题】:Is version control (ie. Subversion) applicable in document tracking? [closed]版本控制(即 Subversion)是否适用于文档跟踪? [关闭] 【发布时间】:2010-09-06 23:40:39 【问题描述】:我负责大约 100 多份文档(word 文档,不是源代码),需要由我部门的不同人员进行修改。目前所有文档都在一个共享文件夹中,他们将在其中检索、修改并保存回该文件夹。
我现在正在做的是在共享文件夹中查找“修改日期”,打开最近修改的文档并使用 MS Word 中的“跟踪更改”功能来应用更改。我觉得这有点乏味。
如果我在版本控制数据库中提交它会更好更容易吗?
基本上我想保留文件的不同版本。
我从答案中学到了什么:
使用 Time Machine 保存不同的 版本(或 Vista 中的卷影副本)
文本之间存在差异 和二进制文件,当你使用 版本控制应用程序。 (我不知道 那个)
Diff 不适用于二进制文件
修订通知系统(即电子邮件)很棒
Google 文档修订功能。
更新:
我试用了 Google Docs 修订功能,觉得它几乎适合我。对过于频繁的版本控制(自动保存)有点恼火。
但我觉得合适的并不意味着我的部门觉得合适。他们可以用 Google 保存所有这些文档吗?
【问题讨论】:
非常好的问题...我们有数百个文档位于网络共享中。我想让我的组织迁移到 Subversion 文档存储。 MagnetSVN 是 Microsoft Office 2007-2013 的 Subversion 客户端 magnetsvn.com 【参考方案1】:我在 SVN 中处理过 Word 文档。使用TortoiseSVN,您可以轻松区分 Word 文档(在工作副本和存储库之间,或在两个存储库修订版之间)。它真的很漂亮,绝对值得推荐。
如果您在 SVN 中使用 Word 文档,另一件事是将 svn:needs-lock 属性添加到 Word 文档中。这将防止两个人同时尝试编辑同一个文档,因为不幸的是没有合并 Word 文档的好方法。
有了以上两点,处理受修订版控制的Word文档至少是可以忍受的。它肯定优于使用共享文件夹和跟踪更改的替代方案。
【讨论】:
你真的可以用 TortoiseSVN 区分 Word 文档的 内容 吗?不仅仅是“二进制文件不同”的差异。 (SVN 本身当然不会提供更多。) 是的,Tortoise 有一些 VBScript 帮助脚本,可以将新旧文档加载到 Word 中,并使用 Word 的文档差异功能来显示差异。实际上,它工作得很好。 听起来很方便;感谢您的澄清。 (这是一个超级用户的问题:superuser.com/questions/14894/diff-software-for-word-files) 这似乎适用于 .doc 和 .docx 文件,但根本不适用于 .dot 或 .dotx 文件(Word 模板文件)。对于这些文件,TortoiseSVN 只是说它们不是有效的文本文件,因此无法区分它们。我尝试手动保存旧版本和新版本并使用 Word 进行比较(Review->Compare->Compare Documents),而 Word 确实会自动比较 .dot 文件,所以这一定只是 TortoiseSVN 中的一个疏忽(至少在版本中) 1.8.8)。知道将 .dot 和 .dotx 添加到扩展列表中的任何方法 TortoiseSVN 将执行其 VBScript 魔术以便在 Word 中区分它们? 我尝试编辑 C:\Program Files\TortoiseSVN\Diff-Scripts\diff-doc.js 的第一行以包含 .dot 和 .dotx 扩展名,但这并没有解决问题。想着可能需要重启才能生效,我试了一下,还是不行;同样的问题:TortoiseSVN 尝试做自己的差异,并抱怨它们不是有效的文本文件。【参考方案2】:Word-is-binary-so-no-diff 的人到底在谈论什么?例如,TortoiseSVN 直接与 Word 集成,使您能够使用 Word 的内置差异和合并功能。它工作得很好。
我参与过将文档存储在版本控制中的项目。它运行得非常好,尽管如果人们不熟悉版本控制,他们可能会在诸如“工作副本”、“合并”和“冲突”之类的概念上遇到困难。在规划文档管理系统时不要高估用户的能力。
我相信对于所有这些,也存在强大的商业解决方案。我敢肯定,如果你有足够的千美元,你就能得到完全符合你需求的东西。文档管理系统是大企业的大生意。
【讨论】:
+1 我不知道这是可能的,但你绝对是对的。 TortoiseSVN 可以使用 word 功能来区分和合并 word 文档。【参考方案3】:我想似乎没有人问过的一件事是您是否有法律要求存储对文档的更改历史记录?
您是否会影响您可以考虑的解决方案。
此外,过期副本的通知机制也很有趣。如果工程师 A 有一份文档的副本,而工程师 B 则对其进行编辑并提交更改,您希望工程师 A 被通知他的副本已过期。
文档控制很容易变成真正的蠕虫。
也许将文档保存在 CVS 或 SVN 下并进行设置,以便在同一文档更新时向已签出副本的人生成电子邮件。是否已签入存储库?
编辑:我忘了添加不要忘记使用二进制开关,例如-kb 用于 CVS,添加新文档时。否则,您将获得与 ascii 匹配的任何数据序列,其中包含附加了相关配置管理数据的关键字字符串,从而破坏了您的文档。数据。
【讨论】:
SVN 默认不执行关键字扩展 - 您需要设置属性以启用它。因此,您可以安全地存储任何文档,而无需进行任何特殊设置。【参考方案4】:开箱即用,迁移到 Wiki 是不可能的吗?
由于您认为强制用户使用 Subversion(或类似的东西)是可行的,因此似乎可以接受更大的更改。
另一个迁移目标可能是使用某种结构化的 XML 文档格式(想到了DocBook)。这将使您能够真正使用差异和源代码控制,同时免费获得各种文档格式。
【讨论】:
【参考方案5】:Sharepoint 在版本控制特定于 MS 的文档方面也做得很好(还不错)。
【讨论】:
这是一个相当古老的答案(和问题)。 Sharepoint 2010 实际上非常适合对 Word 文档进行版本控制。 另外说明,SharePoint Foundation 2010 和 2013 是免费的,但需要 Windows Server。有一些“技巧”可以让它在 Windows 7 或 8 上运行,但我不相信我的文档被黑客入侵。一个 Windows Server Standard 许可证将花费您大约 500 美元加上一台 PC 的成本。【参考方案6】:试试git
怎么样,如果你在.gitattributes
文件中配置的话,git似乎可以支持word.doc
和打开文档.odf
文件。
这是一个reference,向下滚动到diff
ing 二进制文件。
【讨论】:
【参考方案7】:对于它的价值,还有Google Docs。我想这不是一个完美的选择,但它的版本控制非常方便。
【讨论】:
【参考方案8】:Clearcase 与 Word 集成以进行修订跟踪。我相信 Telelogic DOORs 也是如此。
【讨论】:
【参考方案9】:我将 Mercurial 与 TortoiseHg 叠加层一起使用。我可以右键单击一个变更集,选择“Visual Diff”,然后选择“docdiff”工具(捆绑提供),它会在 Word 中启动带有 Track Changes 的文档。
【讨论】:
【参考方案10】:您可以,但您总是会将文档版本与 Word 本身进行比较。
我还没有听说过可以跟踪 Word 文档更改的版本控制数据库。
但是有一些工具可以比较 Word 文档,所以如果您设置版本控制客户端以使用这些工具进行比较,您会获得一些乐趣。
【讨论】:
【参考方案11】:不一定。这取决于新文件提交到 repo 的频率。如果在提交之前对文件进行了多次编辑,那么您正是现在所在的位置。最大的好处是文件损坏。
您可以对任何文件进行版本控制;例如,这就是 Mac OS X Leopard 中的 Time Machine 的工作原理,还有一篇有趣的文章,作者将他的整个计算环境提交到 CVS,然后只在他的家庭和工作机器上维护工作副本。
但是“更好”和“更容易”是针对您的情况的,我不确定我是否完全理解您的问题。
【讨论】:
【参考方案12】:Subversion、CVS 和所有其他源代码控制系统不适用于 Word 文档和其他办公文件(例如 Excel 电子表格),因为文件本身以二进制格式存储。这意味着您永远不能返回并注释(或责备,或任何您想称呼它的名称),或在文档之间做差异。
那里有 Word 文档的修订控制系统,不幸的是我不知道有什么好的。我们在工作中使用此类 Excel 控制系统,不幸的是它们都需要花钱。
好消息是它们让生活变得更轻松,尤其是在您必须进行审计或尽职调查时。
【讨论】:
在小范围内,我将 Office 文档保存为 XML 并使用 SVN 对其进行版本控制。差异在这种情况下有效。【参考方案13】:如果您使用WinMerge,它增加了对合并 Word 和 Excel 二进制文件的支持。
【讨论】:
但是 winmerge 使用记事本作为编辑器,所以它只能合并内容而不是格式。我可以在不使用 msoffice 的情况下合并两个版本控制 docx 并仍然合并格式吗?【参考方案14】:看看 Sharepoint。如果成本是一个问题,Sharepoint 门户服务也可以为您服务。 Read this了解更多信息
【讨论】:
【参考方案15】:您可以使用 Revisionator 之类的东西,它类似于 google 文档,但具有内置的修订控制,包括差异、分叉和 3 路合并。 http://revisionator.com
更新:它还解决了您在 Google Docs 中提到的过于频繁的自动保存问题。它仍然会自动保存以防止数据丢失,但它只会在您明确“发布”您的更改时在修订历史记录中创建一个新版本并与其他用户共享。
【讨论】:
【参考方案16】:只是想澄清某人给出的答案,但我还没有足够的分数。
diff 可以处理二进制文件,但它只会说一些不太有用的东西,比如“toto1 和 toto2 二进制文件不同”。
【讨论】:
【参考方案17】:您可以这样做,但如果该文件是二进制文件,您应该始终在编辑之前对其进行锁定。您不会遇到冲突(这是无法解决的)。
【讨论】:
【参考方案18】:许多新的版本控制项目更适合整个目录,而不是单个文件。
说服某人他们需要完成整个项目,而他们只想更新单个文件可能是度过一个下午的“有趣”方式。
【讨论】:
【参考方案19】:您还有一个选择是一款名为 Dropbox 的软件和云计算魔法。或者,您可以放弃 word 文档,改为创建本地共享的 mediawiki。
投递箱: getdropbox DOT com
媒体维基: mediawiki DOT 组织
【讨论】:
【参考方案20】:是的,它适用!我完全同意 SVN+TortoiseSVN 组合非常适合跟踪 MS Office 文档。您可以锁定一个文档进行编辑,写保护所有未锁定的文件以避免冲突(即并行修改),diff同一文件的两个版本,查看所有修改的历史记录,当然还有回滚到旧版本。 我试图在dedicated blog post 中描述所有这些技巧。 (免责声明:我是博客所有者)
甚至可以使用 SVN 网络客户端从网络访问所有这些内容! (可能需要一些软件开发)
但是,如果您不习惯在其他情况下使用版本控制系统,这可能不是显而易见的选择。与文档良好集成所需的工作为专用工具提供了优势:“电子文档管理”系统就是为此而设计的。出于成本原因,像 SVN 这样的 VCS 可能仍然是一个不错的选择:-)
你测试在线服务Simul了吗?看起来很有希望,我个人喜欢类似 GitHub 的方向。 请注意,我不隶属于 Simul!
【讨论】:
以上是关于版本控制(即 Subversion)是不是适用于文档跟踪? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
适用于Windows Vista的最佳Subversion客户端(64位)[关闭]