减少SVN仓库大小

时间:2016-05-05 13:29:42

标签: svn

我有一个巨大的SVN回购,450K +版本,我试图减少历史的大小,只需要进行最后几千个修订,例如20K并在新的回购中恢复它,我试过很多方法实现这一点,并且没有工作,下面是我记得我用过的方法

1-普通转储,使用下面的命令,花了两天时间,仍然在运行,转储大小超过了repo大小8倍(repo大小为70G,在我杀死转储进程之前达到转储的大小500GB)

  

svnadmin dump demo2 / -r420000:HEAD> /share/svnbkup/split.dump   警告0x0001:Mergeinfo引用最早转储的>版本(r420000)之前的版本。加载此转储可能会导致mergeinfo无效。

2-使用相同的命令,但我使用了--incremental,转储不可恢复

  

svnadmin dump demo2 / -r420000:HEAD --incremental> /share/svnbkup/split.dump   *倾销修订版420136。   警告0x0000:引用版本419907中的数据,该数据早于>最旧的转储版本(r420000)。将此转储加载到空的>存储库中将失败。   警告0x0001:Mergeinfo引用最早的转储版本(r419907)之前的版本。加载此转储可能会导致mergeinfo无效。   *倾销修订版420137。

3-我使用了上面步骤中的转储并尝试使用svndumpfilter,它什么也没做,

4-我试图按原样恢复转储,

  

<<<基于原始版本420000开始新交易   svnadmin:E160013:找不到文件:事务'0-0',路径'/trunk/tool/test.xml'       *编辑路径:trunk / tool / test.xml ... root @ lxc:/ user#   root @ lxc:/ SVN#du -sh final /   168K决赛/

1 个答案:

答案 0 :(得分:0)

  1. 找到较低的边框,不会有超出范围的参考(仔细阅读警告 - 现在 至少包括r419907)
  2. 不要将Wrapper用于第一个基本转储
  3. 在步骤1中找到的切片范围变成小切片,并依次转储小范围(第二个及以后 - 使用--incremental选项) - 更少的时间,如果出现任何错误,则只需要重新完成一个小转储
  4. 关于谵妄的权利

    忘记历史数据,只在新仓库中转移HEAD