我有一个巨大的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决赛/
答案 0 :(得分:0)
Wrapper
用于第一个基本转储--incremental
选项) - 更少的时间,如果出现任何错误,则只需要重新完成一个小转储关于谵妄的权利
忘记历史数据,只在新仓库中转移HEAD