对大文件的版本控制

时间:2008-11-08 20:20:15

标签: svn version-control asset-management

我们很高兴在工作中使用SVN for SCM。目前,我的二进制资产与我们的代码在同一个SVN存储库中。 SVN支持非常大的文件(它'流畅地'传输它们以保持内存使用的合理性),但它是SLOOWWWWW。

对于大约GB(且不断增长)的资产,您建议使用哪种资产管理软件?我们更喜欢分支和合并(不同的资产和配置文件会转发给不同的客户)。

5 个答案:

答案 0 :(得分:4)

请注意,合并二进制文件几乎是不可能的!至少是自动的。至少我从来没有听说过支持二进制格式的三向合并的程序。更不用解决冲突了。

这就是大多数资产管理工具没有分支的原因,因为它无法再次合并,因此没有多大意义。锁定和线性历史更好。如果您想“分支”,请复制带有历史记录的文件。

答案 1 :(得分:3)

Perforce是我听说用于大型文件和整个项目的唯一版本控制系统。它可以免费使用两个座位,但对于更多用户而言相当昂贵(每个座位约900美元)。我听说它可以处理大到1TB的存储库。

git可能是另一种选择。它的行为与SVN略有不同,但它适用于更大的项目(例如Linux内核)。我不确定它对大二进制文件是否有用。

答案 2 :(得分:3)

在我的公司,我们使用Documentum作为ECMS,管理很多(我的意思是很多)二进制文件。 Documentum(或其他ECMS,如Alfresco)应该是管理文档的“正确”解决方案。 Documentum支持标记和分支,并且可以将文件公开为WebDAV(因此集成到您的工作流中可以或多或少透明)。

这就是理论。实际上,我们发现Documentum很慢,很难配置和管理。老实说,即使我们有很多文件,但大多数都没有大于100的Mo.

这回答了你应该做的不应该做的事情......对不起......

答案 3 :(得分:1)

Mercurial large files extension可能有所帮助。它增加了将文件标记为“大”的功能。将这些文件存储在与存储库其余部分分开的中央存储中。使用哈希来确定您需要哪些版本的大文件,并且只下载您现在需要的版本。

答案 4 :(得分:0)

如果您需要管理巨型文件,请尝试使用Plastic SCM(www.plasticscm.com)。 AFAIK Perforce也是一种选择,但分支和合并并不是那么强大。