subversion存储库需要多少服务器空间?

时间:2009-12-11 22:14:47

标签: svn repository diskspace

我将获得一些任意大小的服务器空间,并获得ssh访问权限以建立一个subversion存储库。

但是,我不知道要求多少空间。现在,它将托管我的cms项目,以便我的同事也可以为代码做出贡献。但如果它到达任何地方,我们希望扩展系统,可能将许多项目放入回购。

它将包含php和其他基于Web的代码,以及几个图像。没有过多的空间,有多少空间? 20MB? 200MB?

4 个答案:

答案 0 :(得分:5)

考虑到一个典型的带有几个图像的Web项目和要下载的PDF本身可以有20MB的大小,如果你想存储SVN历史记录,你还需要更多。

例如,在我的个人SVN服务器上,对于一个web项目(我的博客,并不是那么大),SVN存储库的大小为181 MB - 并且没有超过150次修订(我已停止为该项目使用SVN)

另一个(较小:几乎没有二进制文件,如图像,框架通过svn:externals链接) pet-project与大约100个版本的存储库大小为49MB。

还有另一个项目(小网站,只有几个版本,因为它是我不再维护的网站,我只是SVN我的SVN服务器作为备份机制)存储库大小为22M;考虑到这个项目,任何更小的东西看起来都很奇怪......

因此,对于一个体面的项目,可能需要一天或几天几百MB,特别是如果有几个不同的开发人员。

答案 1 :(得分:4)

这取决于项目规模。显然,您至少需要与项目大小一样多的空间。然后,您将需要更多空间来存储SVN跟踪的更改。

这些天的空间成本,为什么你担心这样做呢?只需要几声演出。

答案 2 :(得分:2)

获取一个完整修订版的大小,并在下一个公式中填写:

TotalSize = OneRevisionSize * (n * 1.09)

其中n是预期的修订量。 (如果您不知道,请使用1000作为n) 应使用相同的公式单独重新计算每个分支。 对于每个标签,应保留相同的大小作为一个修订版。

答案 3 :(得分:1)

如果您在存储库中拥有的只是文本,那么它就不会变得非常大。 Subversion非常适合使用文本进行增量压缩,如果正确完成,则不会复制带分支,标记和合并的对象。

但是,如果您要存储随时间变化的大型二进制文件,尤其是图像或视频等预压缩文件,则存储库将快速增长。此外,如果您签入已编译的可执行文件,Java类,.NET程序集,即使只有少量源代码更改,它们实际上也会有很大差异。 Subversion仍尝试对这些文件进行增量压缩,但它们在从修订版到修订版的字节级别上发生了很大的变化,如果有的话,它就无法做很多事情。

我们有一个大型项目的两个回购...“源”回购只有几百MB,尽管有超过40000个文件和20000个修订版,有很多分支和合并。它只包含大部分文本文件或不变的图像。这个项目的“内置”仓库大小接近10 GB,因为我们检查了构建的Java .class文件(在某些情况下还有整个JAR和EAR文件)。我们维护用于快速部署和回滚的“内置”仓库(我们不希望在紧急情况下从源代码进行构建以回滚到良好版本)。