svn存储库的实际大小限制是多少?

svn存储库的实际大小限制是多少?,svn,Svn,我正计划建立一个svn存储库,其中将包含我工作场所的各种产品构建所依赖的第三方二进制文件。因为这些都是二进制文件,而不是文本文件,所以任何添加到此存储库的操作都会复制工件,我有点担心大小限制 现在我正在研究大约15GB的二进制文件,我知道350GB是可能的(从这个问题可以明显看出-) 我也知道底层操作系统有一些限制(例如2GB最大单文件大小,我不希望达到),svn代码中也没有硬限制 我想问的是,人们看到svn在没有重大问题的情况下有多大?还请记住,此存储库将(相对)很少更新—大约每隔几周更新一次

我正计划建立一个svn存储库,其中将包含我工作场所的各种产品构建所依赖的第三方二进制文件。因为这些都是二进制文件,而不是文本文件,所以任何添加到此存储库的操作都会复制工件,我有点担心大小限制

现在我正在研究大约15GB的二进制文件,我知道350GB是可能的(从这个问题可以明显看出-)

我也知道底层操作系统有一些限制(例如2GB最大单文件大小,我不希望达到),svn代码中也没有硬限制

我想问的是,人们看到svn在没有重大问题的情况下有多大?还请记住,此存储库将(相对)很少更新—大约每隔几周更新一次

我的操作系统选项是Windowsx64(最有可能是Server2008)和Linuxx64(可能是red hat ent.)。在windows和linux上,文件系统将是ntfs

客户将主要是乌龟svn 1.7


那么,在我的案例中,实际限制是什么呢?

首先,Subversion是一种现代版本控制系统,因此二进制数据本身不是问题。Subversion可以从二进制数据创建增量,因此提交将尽可能小

问题通常是二进制数据会主动阻止生成小的增量。一个原因是二进制数据可以压缩,这通常会导致巨大的差异

也就是说,你的回购协议可能不会增长得非常快。我们有一个大产品,目前使用约400个第三方依赖项。每个月都会有一些变化。或者换一种说法:你的依赖关系不会每周都改变。这意味着您每个月只会添加几MB(除非您的依赖关系非常不稳定,而且变化很大,但大多数依赖关系都不是这样)


所以我的直觉是尝试一下,并在出现问题时解决问题,因为可能不会有任何大的/不可用的问题。

“因为这些都是二进制斑点”-倒带。说什么?我的意思是我将在那里存储大量的非文本工件(*.dll、*.so、*.zip等),所以我预计大小会快速增长。为什么你打算在svn中存储二进制文件?除了svn,还有其他可能更合适的解决方案。它实际上有点复杂。“长期存储”(在备份和安全中)将是svn,但来自此svn的工件将部署到nexus,需要它们的构建将从中获取它们。Subversion不是备份系统,因此请不要这样使用它。将这些库保存在另一种类型的存储中(甚至是单独的SVN存储库,并通过外部引用),并将它们作为构建和分发过程的一部分拉入。