在我们公司,我们使用 Subversion 作为版本控制系统。现在,如果服务器中有一个 10GB 的文件夹,并且有 4 个用户在该项目中工作,那么在结账期间,它将累积 40GB 的数据,这是不必要的,因为用户只会使用不同目录中的某些文件。有什么方法可以让它成为一个内存高效的工具,或者我们可以使用另一种 VC 工具
答案1
即使使用 Subversion,svn update
(请参阅 参考资料svn help update
)也应该只传输已更改的文件。您还可以使用svn checkout <path>
(请参阅svn help checkout
)来仅签出子目录。
我不确定存储库是如何增长到 10 GB 的。存储库用于来源文件,即人类可读的文本。如果您设法生成 10 GB 的人类可读文本,这对于 4 个用户来说已经相当多了……
二进制文件不属于存储库。使用存储库来跟踪数据库是行不通的。
所以我真的怀疑你需要做的是改变你使用存储库的方式,而不是寻找另一个版本控制系统。
答案2
@dirkt 的后续行动
- 服务器端的“NNN GB”大小为存储库和所有历史
- 当每个人结账回购时,他只得到片- 一次修订
- 如果即使单个修订也“太多”,并且只有一小部分文件需要更改,则每个开发人员都可以仅签出存储库树的一部分,从所需文件的最近公共祖先开始
- 后续
svn ci
需要svn up
的卷数会少很多 ащк цщкл