在我们的项目中,我们决定通过使用预先构建的二进制文件来减少构建时间。每周/每月,我们创建一个稳定的版本,并将其提交到存储库。构建使用这些二进制文件,而不是从源代码构建所有内容。
对于构建速度来说,这是非常棒的。但是,不出所料,它确实增大了SVN的结帐大小。我们的主干目前大小约为22 GB。我意识到这不是Subversion的预期用法。但我们目前别无选择。
但我想改善目前的状况。.svn
文件夹对磁盘上主干的大小有很大的影响。当二进制文件更新时,它似乎在.svn文件夹中保留了几个库。也就是说,如果二进制文件是4 GB,则在.svn
中有一个副本。如果它更新了,那么.svn
文件夹将保存原始的基本内容和新的基本内容,并且该文件的容量最高可达8 GB。
有没有可能告诉Subversion不要在.svn
文件夹中为某些文件保留一个库?通过谷歌,我发现了一个类似的问题,。
西蒙收到的答案是
之前不会成为一项功能
对我来说幸运的是,subversion 1.8已经发布。是否添加了此功能?
我在the release notes中没有注意到这一点。虽然“目录和属性存储减少”看起来很有希望。
发布于 2016-09-10 13:18:20
对于使用TortoiseSVN客户端的Cleanup命令而不是svn cleanup
命令的用户,可以通过确保选中.svn
Vacuum pristine copies选项来减小Vacuum文件夹大小:
此外,建议在工作副本的顶层进行清理,如here所示。
编辑
根据this answer和SVN change log的说法,svn cleanup
有一个真空原始拷贝(/vacuum
)的选项。默认情况下,从1.8开始执行此操作。从1.10版本开始,默认情况下不再执行此操作,但可以使用命令svn cleanup --vacuum-pristines
(请参阅this answer)运行。
https://stackoverflow.com/questions/21027326
复制相似问题