Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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
350GB SVN repo为分支/标记等最简单的任务创建至少1MB的修订版_Svn_Repository_Size_Fsfs - Fatal编程技术网

350GB SVN repo为分支/标记等最简单的任务创建至少1MB的修订版

350GB SVN repo为分支/标记等最简单的任务创建至少1MB的修订版,svn,repository,size,fsfs,Svn,Repository,Size,Fsfs,这一切都始于我注意到我的存储库大小以每天1GB的速度增长。 我做了一个简单的测试。已创建大小为35KB的现有文件夹的分支/标记。我记下了修订号并转到$REPO/db/revs//rev number/,检查了修订的大小。它是1兆字节。听起来很可疑。 关于这里可能有什么问题的想法。我的回购协议大小约为350GB,修订版约为600000 另外,我已经开始重建整个存储库,看看这是否有什么不同,但可能需要几天才能完成。向users@subversion.sapache.org从B Smith Manns

这一切都始于我注意到我的存储库大小以每天1GB的速度增长。 我做了一个简单的测试。已创建大小为35KB的现有文件夹的分支/标记。我记下了修订号并转到
$REPO/db/revs//rev number/
,检查了修订的大小。它是1兆字节。听起来很可疑。 关于这里可能有什么问题的想法。我的回购协议大小约为350GB,修订版约为600000


另外,我已经开始重建整个存储库,看看这是否有什么不同,但可能需要几天才能完成。

向users@subversion.sapache.org从B Smith Mannschott那里得到了这个答案-这解释了一切。我的路径中确实有一个包含16000个文件夹的目录——对于每个提交。感谢B Smith Mannschott的详细回复。为他人的利益在此处发布回复


您的存储库是否包含一个包含很多条目的目录?是 在这样的范围内或范围内进行的产生大提交的更改 目录

让我们假设将对单个文件的单个更改提交到您的 存储库。让我们进一步假设文件位于您的 存储库:

/project/trunk/some really-large目录/notes/blah.txt

当您将更改提交到blah.txt时,新版本将重写 “blah.txt”和存储库根目录之间的目录节点: /project/trunk/一些非常大的目录/notes, /project/trunk/一些非常大的目录,/project/trunk,/project, /。重写目录节点时,FSFS始终存储新版本 整体而言。(这与更改文件的方式不同 已存储,通常与以前的某些版本不同 相同的文件。)

如果/project/trunk/some really large directory/包含10000个 文件,则每个提交到blah.txt的文件都将存储此文件的完整副本 存储库中的目录(包含10000个名称)

我注意到这一点,当我开始保持个人维基版本 几年前控制。这是一个超过10000条文字的平面目录 文件夹。我很快就注意到提交量相当大。(从那以后我一直在 出于这个原因和其他原因,切换到git执行该任务。)

另见
有一个非常简单的解决方案。假设您的存储库包含大量历史标记,您可以将它们移动到
/tags archive
,并将此目录设置为只读。当您将在
/tags
下创建新标记时,将不再出现问题

请注意,您需要使用URL来移动URL。例如

svn移动https://svn.example.com/MyRepo/tags https://svn.example.com/MyRepo/tags-archive -m“您的日志信息”


此解决方案有助于解决单个目录中包含约350000个标记的存储库的问题。

需要更多数据:OS、SVN版本、Repobackend..OS版本:Sparc 5.10 SVN版本:1.5.4客户端使用python SVN库访问SVN。