使用CVS或Subversion作为office文档的备份框架的提示

时间:2009-02-11 20:11:51

标签: svn backup cvs

我一直在使用subversion(以及之前的CVS)不仅存储源文件,而且以后存储用于我研究的LaTeX文件,最后还存储一些word文件和其他材料。

我喜欢这样一个事实:我可以使用多台计算机并同步每台计算机中的最新内容,同时仍然能够维护备份和项目的某些层次结构。

我确信我不能成为唯一一个这样做的人。

我现在正在考虑将CVS或subversion用作包含许多频繁更改的office文档的家庭计算机的主要备份机制。这是好主意吗?我能想到的主要问题是文件被认为是二进制的,所以服务器会膨胀一点。

但是,我想知道其他我应该注意或注意的事情。

此外,我在哪里可以找到可以自动化签名的脚本的好例子?

8 个答案:

答案 0 :(得分:7)

实际上,我并不是真的建议这样做,之前已经走过了这条道路。首先,我认为不用说,如果你使用SCM存储库来完成这样的任务,那么使用SVN而不是CVS!对于这样的情况来说,这几乎可以保证你将存储二进制数据,这对CVS来说是一个巨大的痛苦。

无论如何,我过去常常在SVN存储库中存储很多非编程相关的东西,但现在只使用时间机器来备份我关心的文件,并使用基于网络的小型repo来查找我的dotfiles等等。 。我认为阻碍的一个关键因素是你对普通数据文件的态度与对源代码的态度不同。在大多数情况下,您不太可能想要将您编写的报告的两个版本区分开来,或者将您的工作副本版本恢复为两周前写的一些草稿。有了这些文档,您通常只关心最新版本,SCM提供的工具和安全性往往比这方面更有用,特别是在签到注释,合并等方面。

另外,我非常不推荐(这是一个词?;))使非程序员使用SCM。所需的解释量太大,不足以使工具对它们有益,特别是当应用于该工具最初不打算用于的任务时。我已经在一些我们思考的环境中完成了这个问题,因为这些人并不愚蠢,他们正在处理与软件相关的工件。但不可避免地合并冲突和其他SCM“陷阱”导致混乱,并最终在晚上打电话给我。

我会说你应该研究像Sharepoint这样的文档共享门户,以便合作办公文档等。它们更适合处理这些类型的事情而不会给非技术人员带来很多麻烦,并且可以优雅地处理版本历史记录,二进制数据等。这可能对您的家庭来说太过分了,但是设置了一个小门户保存重要数据不应该是一个大问题 - 您只需要四处寻找并找到适合您需求的东西。

答案 1 :(得分:3)

您应该调查subversion的Autoversioning选项。例如,它允许您设置任何计算机可以查看和写入的网络共享,但只要在写入数据时自动执行必要的提交操作。如果有人意外删除了他们的文档,可以使用subversion命令恢复它。

答案 2 :(得分:2)

实际上这不是一个坏主意。 Subversion使用xdelta来存储差异,即使在二进制文档中也是如此,因此服务器不会因为不同的版本而过载。

对于脚本,只需在进入机器时进行svn更新,并且在离开时不要忘记执行svn提交。我已经为自己的数据做了好几年了,没有任何问题。

答案 3 :(得分:2)

我使用Mercurial保存办公文档。它做我需要的一切 -

  1. 跟踪旧版本。
  2. 防止灾难。由于Mercurial是一个分布式版本控制系统(DVCS),我的工作机器,笔记本电脑,其他笔记本电脑和家用机器都有一个存储库。
  3. 允许提交“离线”,因为它是DVCS。
  4. 显示更改的简单网页界面
  5. ......还有更多。作为一名程序员,它所做的大部分内容对我都很有用,但它也足以让文档管理变得简单。

    哦,还有一个主要的好处 - 在Mac上,许多“文档”实际上是包含大量文件的文件夹。使用SVN,您可以使用应用程序删除但SVN想要保留的文件快速混乱这些文件夹。使用Mercurial时,当您删除文件时,该文件会被“删除”,但如果您查看以前的版本,它会回来!适用于Mac应用程序的完美解决方案!

答案 4 :(得分:2)

http://wiki.documentfoundation.org/Libreoffice_and_subversion

键似乎使用.fodt而不是.odt格式。 Sans压缩传统的差异,补丁系统运行良好,而不会像二进制文件那样处理所有文档!

答案 5 :(得分:1)

是和否。

假设您正确使用版本控制(CVS或任何其他系统),这是跟踪文件的旧版本的好方法,并且您更有可能在您之前或之后找到该文件的版本如果你有一些特别的改变。

然而,版本控制并不能保护您免受灾难的影响,例如实际数据丢失(电源浪费时,机器会占用所有磁盘)。因此,您需要定期将存储库备份到某些安全介质。根据它的重要程度,只需将其写入CD / DVD和其他存储在其他地方的移动磁盘即可。

此外,版本控制存储库可能会发生错误。由于版本控制软件中的错误,崩溃,冲突等,其中一部分可能会损坏。更糟糕的是,在你发现有些版本无法恢复之前,你可能不会注意到它。因此,在备份之前有一些一致性检查存储库的过程。并且不要一次覆盖所有备份。

答案 6 :(得分:0)

为什么不使用备份工具来处理文档?如果您不需要修订并且只需要最新版本,那么备份工具/预定备份可能是最好的。

如果您想进行修订,请继续执行您的计划。在这种情况下,我唯一可以建议的是一个计划任务,它在所有文件的根目录下进行提交。提交注释可以是“自动提交[日期/时间]”,我将为任务设置不同的用户名。

答案 7 :(得分:0)

我尝试在家用NAS驱动器上使用TortoiseSVN,但它没有用 - 我认为因为磁盘是FAT32。我使用SyncBack在家中维护我的文件的多个副本,因为我不打算维护修订历史记录。