Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn subversion存储库需要多少服务器空间?_Svn_Repository_Diskspace - Fatal编程技术网

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

Svn subversion存储库需要多少服务器空间?,svn,repository,diskspace,Svn,Repository,Diskspace,我将获得一些任意大小的服务器空间,并获得ssh访问权,以建立subversion存储库 但是,我不知道需要多少空间。现在,它将主持我的cms项目,这样我的同事也可以为代码做出贡献。但如果它有进展,我们希望扩大该系统,可能会将许多项目纳入回购协议 它将包含php和其他基于web的代码,以及一些图像。在不过度使用的情况下,多大的空间是多少?20mb?200mb?考虑到一个典型的web项目,有几个图像和PDF可供下载,其本身的大小可能为20MB,如果您想存储SVN历史记录,则需要更多 例如,在我的pe

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

但是,我不知道需要多少空间。现在,它将主持我的cms项目,这样我的同事也可以为代码做出贡献。但如果它有进展,我们希望扩大该系统,可能会将许多项目纳入回购协议


它将包含php和其他基于web的代码,以及一些图像。在不过度使用的情况下,多大的空间是多少?20mb?200mb?

考虑到一个典型的web项目,有几个图像和PDF可供下载,其本身的大小可能为20MB,如果您想存储SVN历史记录,则需要更多

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

另一个(较小:几乎没有类似二进制文件的图像,框架通过
svn:externals
链接)pet项目有大约100个修订版,存储库大小为49MB

还有一个项目(小网站,只有几个修订版,因为这是一个我不再维护的网站,我只是将我的SVN服务器作为备份服务器)的存储库大小为2200万;考虑到这个项目,任何更小的东西都会显得很奇怪


因此,对于一个像样的项目来说,几百MB可能在某一天或某一天是必需的,特别是如果有两个不同的开发人员。

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


这些天来,空间的成本很高,你为什么要担心过度使用呢?只要扔几块钱就行了。

如果存储库中只有文本,它就不会变大。Subversion非常擅长对文本进行增量压缩,如果操作正确,则不会复制带有分支、标记和合并的对象

但是,如果您存储的是随时间变化的大型二进制文件,特别是图像或视频等预压缩文件,则存储库将快速增长。此外,如果您签入已编译的可执行文件、Java类、.NET程序集,即使只需对源代码进行一点更改,它们实际上也会有很大的变化。Subversion仍然尝试对这些文件进行增量压缩,但它们在字节级别上从一个版本到另一个版本的变化如此之大,以至于根本做不到什么


我们有两个大型项目的回购协议。。。“源”repo只有几百MB,尽管有超过40000个文件和20000个修订版,其中有很多分支和合并。它大部分只有文本文件或不变的图像。同一个项目的“构建”repo的大小接近10GB,因为我们签入了构建的Java.class文件(在某些情况下还签入了整个JAR和EAR文件)。我们为快速部署和回滚维护“构建”repo(我们不希望在紧急情况下必须从源代码进行构建才能回滚到良好版本)。

获取一个完整版本的大小,并将其填入下一个公式:

TotalSize = OneRevisionSize * (n * 1.09)
其中n是预期修订量。(如果您不知道,请使用1000作为n) 每个分支应使用相同的公式分别重新计算。
每个标签都应该保留相同的尺寸作为一个修订版。

我喜欢在东西上扔东西!事实上这是一个很好的观点谢谢,我是目前唯一的开发人员,我的朋友想看看我的代码,因为他正在学习编程,但他最终想贡献一点——我不确定在很长一段时间内是否会有一个以上的开发人员,但我可能会要求一个gig,这将持续一段时间。不客气:-)几GB不会“太多”,无论如何:如果你有一些不知道如何使用的磁盘空间,你可以安装一个持续集成服务器,或bugtracker,或DB服务器,将其用于一些备份,或者随便什么:你总能找到一种方法来使用几首歌^^