版本管理/备份解决方案

时间:2009-03-06 06:36:24

标签: version-control backup

这不是严格技术问题,但我觉得这对许多技术人员也很有用。

我正在寻找一个版本管理/备份解决方案,它不需要 来源代码。这可以用于非文本文件,例如图像。

要求是这个 -

  1. 每次我从应用程序中保存文件时,都应该创建一个版本。
  2. 我应该可以为say,major revisions添加评论。
  3. 任何时候都应该只有一个版本。
  4. 我应该能够在不执行“恢复”的情况下查看以前的版本
  5. 我应该可以在版本之间来回移动。
  6. 如果我可以从资源管理器上下文菜单中找到特定文件,那么显示文件各种版本的日历功能会很有帮助。
  7. 我真的不需要比较不同的版本或类似的东西。

    仅限Windows解决方案。我看了NTI Shadow,它有点接近我正在寻找的东西。

    是否有针对上述要求的付费/免费/开源解决方案?

5 个答案:

答案 0 :(得分:1)

我所知道的任何版本控制系统都支持二进制上传。 Subversion(简称SVN)是免费且非常受欢迎的。如果您还下载TortoiseSVN,则可以在资源管理器中处理所有内容。

我无法帮助您的唯一要求是1.在您的应用程序中自动保存。但是,您当然可以通过复制文件系统中的旧版本文件并通过TortoiseSVN提交更改来实现此目的。

由于某些原因PS我现在无法连接到SVN网站。它可能会暂时下降。它仍然是一个很棒的产品,但是:)

答案 1 :(得分:0)

我强烈建议使用subversion。我使用了4种不同的版本控制系统,发现颠覆功能强大且易于使用。

对于Windows,这是最容易安装的服务器是Visual SVN

Smart SVN是我用过的最好的颠覆客户端。

答案 2 :(得分:0)

[不是实际答案,只是关于DVCS备份功能的说明]

我不会建议像Git这样的DVCS(分布式版本控制系统)或类似的备份策略。

DVCS Myths

中所述
  

那么,为什么要备份具有如此多备份的源控制服务器呢?

     
      
  • 许多服务器不可能同时遭受灾难性的硬件故障,但这并非不可能。
  •   
  • 更可能的情况可能是一种特别讨厌的计算机病毒,它会陷入整个脆弱机器网络。
  •   
     

在任何情况下,任何或所有备份突然变得不可用的概率实际上都不是重点   最重要的是,使用独立克隆作为规范备份(而不是临时止损)是次优策略。

     
      例如,应考虑
  • 安全性   如果您使用授权规则来控制对存储库特定部分的访问,则规范化存储库的任意克隆会使这些规则无效。
      虽然这在受控企业环境中很少成为实际问题,但它仍然是可能的。
  •   
  • (我的输入:) 完全数据备份 对于DVCS来说是不可能的,因为它意味着所有存储库将其更改推送到一个“中央”存储库,它不是DVCS中的主要用例场景(而对于经典的VCS,任何提交的东西都存储在一个地方)
  

DVCS备份的关键胜利在于,您实际上并不需要投资“热门”备份。   当服务器不可避免地出现故障时,DVCS会给你带来时间。很多的时间。当您从备份重建服务器时,您基本上可以以完全的生产力(或非常接近)运行   当服务器停机期间创建的变更集被推回到恢复的服务器时,将重新应用刚刚恢复的授权规则,您将重新回到正轨。

所以,对我们来说:

  • 热“备份”实际上是通过SRDF(Symmetrix远程数据工具)实现的,但这是商业性的,并且链接到我们的基础架构,支持LUNs重复以实现数据复制。
  • 为一组有限的存储库(包括一些“中央”Git存储库)实现增量每日备份,但在我们的情况下,使用自定义工具。

答案 3 :(得分:0)

我认为您正在寻找版本控制文件系统的好处,该文件系统在每次写入时都会获取文件的不可变快照。你可以将它构建成DVCS,如果有东西设置监视版本化目录中包含的文件(每次更改文件时提交),但这会变得难看,快速。

此问题也在this question中进行了探讨。我认为您理想的解决方案是DVCS存储库,它驻留在某种类型的版本控制/牛文件系统上。这使您可以独立于在DVCS中进行的提交来管理每个文件的修订。

当然,除非有毒修订对您不利。

答案 4 :(得分:0)

为了使其对应用程序透明(即,不需要让应用程序实现不同的API来保存/加载文件以访问这些备份功能),您需要在操作系统中执行此操作,它的文件系统层。

ZFS filesystem可以被包装以提供您描述的用户界面功能,但是这个文件系统是否会直接到达Windows(至少是直接)是值得怀疑的。

更简单的思考方法是查看能够为您提供所需功能的网络存储系统。

NetApp Snapshot提供了可以在网络存储级别执行此操作的功能。它实现了CIFS,因此在Windows上绝对可用。打开钱包。

如果您认为这是一个非常重要的功能,您可以考虑其他操作系统而不是Windows; Windows以外的操作系统中的文件系统和文件系统支持更加多样化。