假设我从 VisualSVN 服务器下载了 100GB 的内容。我能推断出服务器本身用于存储该内容的空间吗?
如果全部压缩的话我估计占用的空间会略少于 100GB。
如果有大量的日志或诸如此类的东西,理论上会增加尺寸。
有什么方法可以可靠地确定服务器使用的存储量?
答案1
可靠吗?不可能。
svn 使用类似的技术来diff
减少单个提交的大小,文件被有效地压缩为一个“基本”文件,并从该文件中进行添加和删除。这显然甚至适用于二进制文件
但问题是,您没有拉下所有这些中间块,在几次修订的过程中,用于计算修订之间差异的空间量可能比文件本身大几倍。
您也无法拉回已删除的文件。如果您正在处理经常被删除的特别大的文件,那么该已删除的文件将一直存储在服务器上,但永远不会出现在您的硬盘上。这会使服务器的数据量比您的副本大。
如果您大量使用外部资源将大型项目链接在一起,那么您最终签出的数据可能比仅签出单个项目多几倍。标签也几乎不占用服务器空间(除非您编辑标签下的文件),因此签出标签也不等于占用服务器空间。
你真正能做出的唯一推论是,给定文件增量、日志和已删除的文件,只要排除外部文件和标签/分支,服务器大概比本地副本包含更多数据。不过文件压缩也可能会影响这一点。