我们很乐意在工作中将 SVN 用于 SCM。目前,我将二进制资产与我们的代码放在同一个 SVN 存储库中。SVN 支持非常大的文件(它“流式地”传输它们以保持内存使用正常),但它是 SLOOWWWWW。
对于价值约 1 GB(并且还在增长)的资产,您推荐什么资产管理软件?我们更喜欢分支和合并(不同的资产和配置文件去不同的客户)。
我们很乐意在工作中将 SVN 用于 SCM。目前,我将二进制资产与我们的代码放在同一个 SVN 存储库中。SVN 支持非常大的文件(它“流式地”传输它们以保持内存使用正常),但它是 SLOOWWWWW。
对于价值约 1 GB(并且还在增长)的资产,您推荐什么资产管理软件?我们更喜欢分支和合并(不同的资产和配置文件去不同的客户)。
请注意,合并二进制文件几乎是不可能的!至少是自动的。至少我从未听说过支持二进制格式的三路合并的程序。更别说解决冲突了。
这就是为什么大多数资产管理工具没有分支的原因,因为它没有意义,因为你不能再次合并。锁定和线性历史更好。如果您想“分支”,则制作带有历史记录的文件的副本。
在我的公司,我们使用 Documentum 作为 ECMS,管理大量(我的意思是真的很多)二进制文件。Documentum(或其他 ECMS,如 Alfresco)应该是管理文档的“正确”解决方案。Documentum 支持标记和分支,并且可以将文件公开为 WebDAV(因此与您的工作流程的集成或多或少是透明的)。
这就是理论。在实践中,我们发现 Documentum 速度慢,难以配置和管理。老实说,即使我们有很多文件,它们中的大多数也不超过几百个莫。
这个答案更多的是你不应该做的事情而不是你应该做的事情......对不起......
Perforce 是我听说的唯一用于大型文件和整个项目的版本控制系统。两个座位是免费的,但对于更多用户来说相当昂贵(每个座位大约 900 美元)。我听说它可以处理高达 TB 的存储库。
git 可能是另一种选择。它的行为与 SVN 略有不同,但适用于更大的项目(例如 Linux 内核)。我不确定它是否适用于大型二进制文件。
Mercurial 大文件扩展名可能会有所帮助。它增加了将文件标记为“大”的能力。将这些文件存储在与存储库的其余部分分开的中央存储中。使用哈希来确定您需要哪些版本的大文件,并且只下载您现在需要的版本。
如果您需要管理 HUGE 文件,请尝试使用 Plastic SCM (www.plasticscm.com)。AFAIK Perforce 也是一种选择,但分支和合并不是那么强大。