版本控制(即Subversion)是否适用于文档跟踪?[关闭]


75

我负责大约100多个文档(word文档,而不是源代码),这些文档需要我部门的其他人员进行修订。当前,所有文档都位于共享文件夹中,它们将在其中检索,修改并保存回该文件夹中。

我现在正在做的是在共享文件夹中查找“修改日期”,打开最近修改的文档,并使用MS Word中的“跟踪更改”功能来应用更改。我觉得这有点乏味。

那么,如果将其提交到版本控制数据库中,会更好又容易吗?

基本上,我想保留文件的其他版本。


我从答案中学到了什么:

  • 使用Time Machine保存其他版本(或Vista中的卷影副本)

  • 使用版本控制应用程序时,文本文档和二进制文档之间有所不同。(我不知道)

  • 差异不适用于二进制文件

  • 修订的通知系统(即电子邮件)很棒

  • Google文档修订功能。

更新

我试用了Google文档修订功能,觉得这对我来说几乎是正确的。过于频繁的版本控制(自动保存)使您有点恼火。

但是,对我来说合适的感觉并不意味着对我的部门合适。他们可以将所有这些文档保存到Google吗?


很好的问题...我们有成百上千个网络共享中的文档。.我想让我的组织转移到Subversion文档存储中。
磅。2010年

MagnetSVN是Microsoft Office 2007-2013的Subversion客户端magnetsvn.com
Eugenek

Answers:


19

我猜似乎没有人问过的一件事是,您是否有法律要求来存储文档更改历史记录?

不管您是否做,都会对您可以考虑的解决方案产生影响。

同样,过期副本的通知机制也很有趣。如果工程师A拥有文档的副本,然后工程师B对其进行编辑并提交更改,则您希望工程师A收到有关其副本已过期的通知。

文档控制可以很容易地变成蠕虫的真实罐头。

也许将文档保存在CVS或SVN下,并进行设置,以便在更新同一文档时向签出副本的人生成电子邮件。签入到存储库?

编辑:我忘记添加不要忘记在添加新文档时使用二进制开关,例如-kb for CVS。否则,您将获得恰好与关键字字符串的ascii相匹配的任何数据序列,并附加了相关的配置管理数据,从而损坏了您的文档。数据。


2
SVN默认情况下不执行关键字扩展-您需要设置该属性以启用它。因此,您可以安全地存储任何文档,而无需进行任何特殊设置。
gbjbaanb

60

我已经在SVN中使用Word文档。使用TortoiseSVN,您可以轻松地区分Word文档(在工作副本和存储库之间,或在两个存储库修订版之间)。真的很滑,绝对值得推荐。

如果要在SVN中使用Word文档,则要做的另一件事是将svn:needs-lock属性添加到Word文档中。这将阻止两个人尝试同时编辑同一文档,因为不幸的是,没有合并Word文档的好方法。

通过上述两件事,至少可以容忍受版本控制的Word文档。当然,它优于使用共享文件夹和曲目更改的替代方法。


5
您真的可以使用TortoiseSVN区分Word文档的内容吗?不仅仅是“二进制文件不同”的差异。(SVN本身并不能提供更多的功能。)
Jonik,

16
是的,Tortoise有一些VBScript帮助程序脚本,可以将旧文档和新文档加载到Word中,并使用Word的文档差异功能来显示差异。实际上,它运作良好。
格雷格·休吉尔

1
听起来很方便;感谢您的澄清。(这是关于超级用户的问题:superuser.com/questions/14894/diff-software-for-word-files
Jonik,2009年

这似乎对.doc和.docx文件非常有效,但对.dot或.dotx文件(Word模板文件)根本不起作用。对于这些文件,TortoiseSVN只是说它们不是有效的文本文件,因此无法进行区分。我尝试手动保存新旧版本并使用Word进行比较(“查看”->“比较”->“比较文档”),并且Word会自动对.dot文件进行比较,因此这只能是TortoiseSVN的一个监督(至少在版本中1.8.8)。是否知道将.dot和.dotx添加到扩展列表中的任何方法,TortoiseSVN会对其进行VBScript魔术处理,以便在Word中进行区分?
phonetagger

我尝试编辑C:\ Program Files \ TortoiseSVN \ Diff-Scripts \ diff-doc.js的顶行,以包括.dot和.dotx扩展名,但这并不能解决问题。考虑到我可能需要重新启动才能生效,我尝试了一下,但仍然无法正常工作。相同的问题:TortoiseSVN尝试做自己的比较,并抱怨它们不是有效的文本文件。
phonetagger

37

你们所有的单词都是二进制那么没有差异的人在谈论什么?例如,TortoiseSVN可以直接与Word集成在一起,并使您能够使用Word的内置差异和合并功能。它工作正常。

我从事过在版本控制中存储文档的项目。它的效果很好,尽管如果人们不熟悉版本控制,他们可能会在诸如“工作副本”,“合并”和“冲突”之类的概念上遇到困难。规划文档管理系统时,请勿高估用户的功能。

我相信,对于所有这些,也都存在强大的商业解决方案。我敢肯定,如果您有足够的钱,就能得到完全适合您需求的东西。文档管理系统对于大型企业而言是一项大业务。


3
+1我不知道有可能,但您绝对正确。TortoiseSVN可以使用单词功能来比较和合并单词文档。
MathieuPagé09年

10

开箱即用的想法,迁移到Wiki会成为不可能吗?

由于您认为强迫用户进行Subversion(或类似操作)可行,因此较大的更改似乎可以接受。

另一个迁移目标可能是使用某种结构化的XML文档格式(想到DocBook)。这将使您确实能够使用差异和源代码控制,同时免费获取各种文档格式。


6

Sharepoint在对MS特定的文档进行版本控制方面也做得很好(不错)。


2
这是一个很老的答案(和问题)。实际上,Sharepoint 2010非常适合对Word文档进行版本控制。
马丁

另外请注意,SharePoint Foundation 2010和2013是免费的,但需要Windows Server。有使其在Windows 7或8上运行的“技巧”,但我不相信文档会受到黑客的攻击。Windows Server Standard许可证的费用约为500美元,加上PC的费用。
VoteCoffee 2014年

6

尝试一下git,如果git在文件中配置,似乎可以支持word.doc和打开文档文件。.odf.gitattributes

这是参考,向下滚动至diff二进制文件。


4

值得一提的是,还有Google文档。我猜这不是一个完美的选择,但是它的版本控制非常方便。



2

我将Mercurial与TortoiseHg叠加使用。我可以右键单击一个变更集,选择“ Visual Diff”,然后选择“ docdiff”工具(捆绑销售),该工具将在Word中通过“修订”启动文档。


1

您可以,但是您将始终将文档版本与Word本身进行比较。

我还没有听说过可以跟踪Word文档中的更改的版本控制数据库。

但是,有些工具可以比较Word文档,因此,如果将版本控制客户端设置为使用这些工具进行比较,则可能会很有趣。


1

不必要。这取决于将新文件提交到存储库的频率。如果在提交之前对文件进行了多次编辑,那么您现在就是现在。最大的好处是文件是否损坏。

您可以版本化任何文件。例如,这就是Mac OS X Leopard中Time Machine的工作方式,有一篇有趣的文章,有人将他的整个计算环境都提交到CVS中,然后只是在他的家用和工作机器上维护了工作副本。

但是“更好”和“更容易”是针对您的情况的,并且我不确定我是否会完全理解您的问题。


1

Subversion,CVS和所有其他源代码管理系统均不适用于Word文档和其他Office文件(例如Excel电子表格),因为文件本身是以二进制格式存储的。这意味着您永远都不能回过头来注释(或责备,或任何您想称呼它的东西),或在文档之间进行区别。

那里有Word文档的修订控制系统,很不幸,我不知道有什么好的系统。在我的工作中,我们将此类控制系统用于Excel,不幸的是,它们全都花钱了。

好消息是,它们使工作变得更加轻松,尤其是在您必须进行审核或尽职调查的情况下。


在较小的规模上,我将Office文档另存为XML并使用SVN版本化。差异在这种情况下起作用。
mcgyver5

1

如果使用WinMerge,它已添加了对合并Word和Excel二进制文件的支持。


但是winmerge使用记事本作为编辑器,因此它只能用于合并内容,而不能用于格式化。我可以在不使用msoffice的情况下合并两个版本控制docx,仍然合并格式吗?
Hemant Metalia

1

看看Sharepoint。如果成本是一个问题,Sharepoint门户服务也可以为您服务。阅读此以获得更多信息


1

您可以使用类似Revisionator的工具,类似于google docs,但具有内置的修订控制,包括diff,fork和3方式合并。http://revisionator.com

更新:它还解决了您在Google文档中提到的过于频繁的自动保存问题。它仍然会自动保存以防止数据丢失,但是它只会在修订历史记录中创建一个新版本,并在您明确“释放”您的更改时与其他用户共享。


1

只是想澄清某人给出的答案,但我的观点还不够。

diff将在二进制文件上工作,但只会说“ toto1和toto2二进制文件不同”之类的用处不大。


0

您可以这样做,但是如果文件是二进制文件,则在编辑之前应始终对其进行锁定。您不会遇到冲突(这是无法解决的)。


0

许多新版本控制项目更适合整个目录,而不是单个文件。

说服某人他们只需要更新单个文件就需要获得整个项目,这可能是度过一个下午的“有趣”方式。


0

您拥有的另一个选择是一块称为Dropbox的软件和云计算魔术。或者,您可以放弃文档一词,而是制作一个本地共享的mediawiki。

DropBox:getdropbox DOT com

MediaWiki:mediawiki DOT组织


0

是的,它适用!我完全同意说SVN + TortoiseSVN组合非常适合跟踪MS Office文档。您可以锁定文档的版本,所有未锁定的文件进行写保护,以避免冲突(即,并行修改),区分同一文件的两个版本,查看所有修改的历史记录,当然还可以回滚到旧版本。
我试图在专门的博客文章中描述所有这些技巧。(免责声明:我是博客所有者

所有这些甚至都可以通过SVN Web客户端从Web访问!(可能需要一些软件开发)

但是,如果您不习惯在其他情况下使用版本控制系统,那么这可能不是显而易见的选择。与文档良好集成所需的工作为专用工具提供了一个优势:“电子文档管理”系统就是为此而设计的。出于成本原因,像SVN这样的VCS可能是一个不错的选择:-)

您是否测试了Simul在线服务?看起来很有希望,我个人喜欢类似GitHub的定位。请注意,我不属于Simul!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.