我正在寻找如何处理我的源代码(Web应用程序)所依赖的大型二进制文件的意见.我们目前正在讨论几种选择:
您对此有何体验/想法?
另外:有没有人有多个Git存储库的经验并在一个项目中管理它们?
这些文件是程序的图像,该程序生成包含这些文件的PDF.文件不会经常更改(如年份),但它们与程序非常相关.没有文件,程序将无法运行.
我们需要在一个包含100多个"项目"的版本控制存储库中存储二进制文件(主要是MS Word文档,范围从几KB到几MB).目前我们使用Visual Source Safe但存在一些问题,数据库有时会崩溃并且访问速度很慢.
我们正在考虑转向Git或Subversion,我们想知道哪一个是处理二进制文件的更好选择.
不好意思拿出这个话题再次,因为有洙 许多 其他已经相关的问题-但没有直接涉及我的问题.
我正在搜索的是一个很好的版本控制系统,只能处理两个简单的要求:
为什么?我们正在为我们的下一个大型操作系统部署重新打包几千个软件应用程序,我们希望这些软件包遵循版本控制.
到目前为止,我已经有了一些SVN和CVS的经验,但是我对两个大型二进制文件的性能都不太满意(一些MSI或CAB文件将> 1GB).此外,我不确定他们是否能够在未来2 - 5年内按照我们期望的数据量进行调整(就像我说的那样,估计> 1TB)
那么,你有什么建议吗?我目前也在研究SVN外部和Git子模块,虽然这意味着每个软件包都有几个单独的存储库,但我不确定这是我们想要的......
在我们的项目文件中,如果有二进制文件,如.doc,.xls,.jpg,我们选择不保留过去的版本(只保留最新版本没问题),有没有办法告诉SVN,Git ,或Mercurial或其他工具,以跳过这些文件或特定文件夹的修订?
比如,有一个4MB的.doc文件,我需要检查数百次,但我真的不太关心它过去的版本.因此,如果系统保留了100个修订版,那已经是400MB ...检查300次意味着1个文件的1.2GB,这并不好.只有最新版本是好的,所以每个人都可以同步它.此外,我不希望其他人检查项目,并且必须检查20GB的东西.(Git和Mercurial会在每个人的本地存储库中保留所有修订版吗?)
有时我们的项目树可以有二进制文件,例如jpg,png,doc,xls或pdf.当仅更改二进制文件的一部分时,GIT,Mercurial,SVN或其他工具能否做得很好?
例如,如果规范是用.doc编写的并且它是存储库的一部分,那么如果它是4MB,并且编辑了100次但只是1或2行,并且在一年中检查了100次,那么它是400MB .
如果它是100个不同的.doc和.xls文件,那么它是40GB ......不是一个易于管理的大小.
我已经尝试过GIT和Mercurial并且看到它们似乎都添加了大量的数据,即使在.doc或.pdf中更改了1行.GIT或Mercurial或SVN内部还有其他方法可以完成这项工作吗?
git ×8
binaryfiles ×4
svn ×4
dvcs ×2
mercurial ×2
large-files ×1
nexus ×1
packaging ×1
repository ×1