2009-03-06 110 views
1

这不是严格的是一个技术问题,但我觉得这对许多技术人员也是有用的。版本管理/备份解决方案

我正在寻找一个版本管理/备份解决方案,不需要只有的源代码。这可能适用于非文本文件,例如图片。

要求是这样的 -

  1. 每次我将文件从应用程序中保存,它应该创建一个版本。
  2. 我应该可以添加评论说,主要修订。
  3. 在任何时候,应该只有一个版本目前。
  4. 我应该能够查看以前的版本而不做'恢复'
  5. 我应该能够在版本之间来回移动。
  6. 显示一个文件的不同版本的日历功能,将是有益的,如果我能得到它从资源管理器上下文菜单中的特定文件

我并不真的需要比较不同版本或任何东西像那样。

仅限Windows解决方案。我已经看过NTI Shadow,它有点接近我在找的东西。

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

回答

1

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

我不能帮你的唯一要求是1.自动从应用程序中保存。但是,您当然可以通过在文件系统中复制旧版本的文件并通过TortoiseSVN提交更改来完成此操作。

PS由于某种原因,我现在无法连接到SVN网站。它现在可能会下降。它仍然是一个伟大的产品,虽然:)

0

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

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

而且Smart SVN是最好的颠覆客户端我使用。

0

[不是一个实际的答案,只是一个约DVCS备份功能注]

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

正如DVCS Myths

说那么,为什么做这么多备份的源代码管理服务器的备份?

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

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

  • 安全,例如,应予以考虑。
    如果您使用授权规则来控制对存储库特定部分的访问,则规范化存储库的任意克隆会有效地呈现这些规则无用的规则。
    虽然这在控制企业环境中很少成为实际问题,但它仍然是可能的。
  • (我称输入:) 完整数据备份是不是真的有可能用DVCS,因为这将意味着所有库推动他们改变了“中央”资料库,这是不是在DVCS主要使用情况(而用传统的VCS,任何犯被存储在一个地方)

因此,备份DVCS的关键胜利在于,您并不需要投资“热”备份
当服务器不可避免地出现故障时,DVCS会为您提供时间。很多时间。在从备份重建服务器的过程中,您将基本上以完整的生产力(或几乎如此)运行。
当服务器停机时间创建的变更集被推回到恢复的服务器时,新重新恢复的授权规则将被重新应用,您将回到正轨。

所以,对我们来说:

  • 热“备份”实际上是与SRDF(Symmetrix远程数据设备)来实现,但这是商业和链接到我们的基础设施支持LUNs复制来实现数据复制。
  • 增量日常备份是针对有限的一组存储库(包括一些“中央”Git仓库)实现的,但在我们的情况下,使用自定义工具。
0

我认为你正在寻找版本控制文件系统的好处,它在每次写入时都会对文件进行不可变的快照。如果在版本化目录中包含的文件(每次更改文件时都会提交)设置监视器,但您可以将其构建到DVCS中,但这会变得很难,很快。

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

除非,当然,有毒的修订版本不会成为你的问题。

0

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

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

想到这个问题的一种简单方法是查看可以为您提供所需功能的网络存储系统。

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

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