SVN存储库的总大小?

SVN存储库的总大小?,svn,Svn,当我测量服务器上的文件夹大小时,我有一个8GB的SVN存储库 但是,当我在本地检查它时(只需从根、所有分支/标记检查完整的存储库),它的容量为50+GB(仍在计算中) SVN似乎在压缩其内容方面做得很好。为什么尺寸如此不同 是否有任何方法可以计算存储库的实际大小而不必在本地进行完全签出?当您在存储库中创建文件夹的分支时,该文件夹的内容实际上不会被复制。仅仅在重复数据上浪费空间毫无意义。有关更多信息,请参阅好书中有关分支的章节,特别是本节末尾的盒装文本,标题为廉价副本 至于实际尺寸的问题,据我所知

当我测量服务器上的文件夹大小时,我有一个8GB的SVN存储库

但是,当我在本地检查它时(只需从根、所有分支/标记检查完整的存储库),它的容量为50+GB(仍在计算中)

SVN似乎在压缩其内容方面做得很好。为什么尺寸如此不同


是否有任何方法可以计算存储库的实际大小而不必在本地进行完全签出?

当您在存储库中创建文件夹的分支时,该文件夹的内容实际上不会被复制。仅仅在重复数据上浪费空间毫无意义。有关更多信息,请参阅好书中有关分支的章节,特别是本节末尾的盒装文本,标题为
廉价副本

至于实际尺寸的问题,据我所知,没有办法计算,但我怀疑是否有必要。如果没有空间,那就腾出一些空间。主要的一点是,您不需要工作副本中的所有分支,所以只签出您需要的部分。

您可以尝试计算修订的大小,而无需签出(需要一些技巧和手工工作)以恢复完整树的任何子树(无论如何,完整树是个坏主意,浪费了空间)

  • svnls-v-R ROOT/OF/>file.log
  • 删除此日志中有关目录而不是文件的所有字符串
  • 1300 lazybadgаа07 2014年城市/

    (斜杠位于字符串的最后位置,字符串包含的字段比文件相关字符串少一个字段)

  • 对已清理日志中每个字符串的第三个字段中的所有值(以字节为单位)求和(以awk为单位)
  • 我的小型回购协议样本

    全ls

      5 lazybadg              фев 07  2014 ./
      2 lazybadg              ноя 28  2013 branches/
      2 lazybadg              ноя 28  2013 branches/FullHTML/
      2 lazybadg      1521542 ноя 28  2013 branches/FullHTML/natasha_i_budushee.html
      2 lazybadg          146 ноя 28  2013 readme.textile
      1 www-data              ноя 27  2013 tags/
      5 lazybadg              фев 07  2014 trunk/
      5 lazybadg        46394 фев 07  2014 trunk/G1.txt
      2 lazybadg        22203 ноя 28  2013 trunk/G10.txt
      2 lazybadg        18974 ноя 28  2013 trunk/G11.txt
      2 lazybadg        23795 ноя 28  2013 trunk/G12.txt
      2 lazybadg        24996 ноя 28  2013 trunk/G13.txt
      2 lazybadg        27358 ноя 28  2013 trunk/G14.txt
      2 lazybadg        24855 ноя 28  2013 trunk/G15.txt
      2 lazybadg        22481 ноя 28  2013 trunk/G16.txt
      2 lazybadg        40970 ноя 28  2013 trunk/G17.txt
      2 lazybadg        27761 ноя 28  2013 trunk/G18.txt
      2 lazybadg        33974 ноя 28  2013 trunk/G19.txt
      2 lazybadg        38287 ноя 28  2013 trunk/G2.txt
      2 lazybadg        30880 ноя 28  2013 trunk/G20.txt
      2 lazybadg        24692 ноя 28  2013 trunk/G3.txt
      2 lazybadg        38140 ноя 28  2013 trunk/G30.txt
      2 lazybadg        36509 ноя 28  2013 trunk/G31.txt
      2 lazybadg        57408 ноя 28  2013 trunk/G32.txt
      2 lazybadg        74241 ноя 28  2013 trunk/G34.txt
      2 lazybadg        74800 ноя 28  2013 trunk/G36.txt
      2 lazybadg        22123 ноя 28  2013 trunk/G4.txt
      2 lazybadg        12631 ноя 28  2013 trunk/G5.txt
      2 lazybadg        32373 ноя 28  2013 trunk/G6.txt
      2 lazybadg        16433 ноя 28  2013 trunk/G7.txt
      2 lazybadg        25243 ноя 28  2013 trunk/G8.txt
      2 lazybadg        17669 ноя 28  2013 trunk/G9.txt
    
    去污剂

      2 lazybadg      1521542 ноя 28  2013 branches/FullHTML/natasha_i_budushee.html
      2 lazybadg          146 ноя 28  2013 readme.textile
      5 lazybadg        46394 фев 07  2014 trunk/G1.txt
      2 lazybadg        22203 ноя 28  2013 trunk/G10.txt
      2 lazybadg        18974 ноя 28  2013 trunk/G11.txt
      2 lazybadg        23795 ноя 28  2013 trunk/G12.txt
      2 lazybadg        24996 ноя 28  2013 trunk/G13.txt
      2 lazybadg        27358 ноя 28  2013 trunk/G14.txt
      2 lazybadg        24855 ноя 28  2013 trunk/G15.txt
      2 lazybadg        22481 ноя 28  2013 trunk/G16.txt
      2 lazybadg        40970 ноя 28  2013 trunk/G17.txt
      2 lazybadg        27761 ноя 28  2013 trunk/G18.txt
      2 lazybadg        33974 ноя 28  2013 trunk/G19.txt
      ...
    
    由于显而易见,未显示总和,但

    签出的实际大小将大于计算大小,因为
    .svn
    dir和元数据在WC中也需要一些空间

    • 普通尺寸总和:2336878
    • 真正新鲜的结帐规模:4725986
    我有一个SVN存储库,当我在上测量文件夹大小时,它是8GB 服务器

    但当我在本地查看时(只需查看完整的 从根目录开始的存储库,所有分支/标记)及其50+GB(仍然 计数)

    不要从存储库根目录签出工作副本,除非您需要在工作站上安装所有项目分支、标记和工具架。通常情况下,您不需要这样的工作副本来与SVN进行日常工作

    SVN似乎在压缩其内容方面做得很好。怎么会 大小这么不一样

    分支、标记、工具架(和复制操作)在服务器端的存储库存储系统中不会占用太多空间。例如,存储库中的新分支应该占用最少的空间(几千字节)。SVN中的分支或标记是。创建分支或标记时,Subversion实际上不会复制存储库中的任何数据。此外,SVN回购使用了其他几种技术来节省空间

    但是,工作站上的repo根目录的本地工作副本将按原样包含所有分支,并且将占用比存储库中多得多的空间

    有没有办法计算存储库的实际大小 不必在本地进行完整的结账

    整个Subversion存储库的磁盘使用率或大小

    只需检查磁盘上存储库的大小

    如果使用VisualSVN服务器,请尝试cmdlet。它将产生以下输出:

    Name                                Revisions                 Size           SizeOnDisk
    ----                                ---------                 ----           ----------
    MyRepo                                    498             3,340 KB             4,529 KB
    MyRepo2                                   479            21,313 KB            22,571 KB
    MyRepo3                                   201             1,032 KB             2,226 KB
    MyRepo5                                     2                71 KB                90 KB
    
    您还可以使用svnfsfs stats工具查看和检查存储库存储统计信息。以下是一个例子:

    svnfsfs stats C:\Repositories\MyRepository
    

    因此,显而易见的下一步是建议:永远不要从根目录递归地签出完整的存储库。@Ben添加了建议:),但也不要得到太少。在我的任期内,最好得到一个分支。不多不少。在分支级别上支持不同的属性更容易(1.8中不是实际的)、始终合并整个分支、在源代码中工作如果给定的答案之一是该问题的可接受答案,则应通过单击答案旁边的空心复选标记来接受该答案,使其变为绿色。如果你发现了一个不同的解决方案,那么你应该在这里描述它并接受它。
    svnfsfs stats C:\Repositories\MyRepository