答案1
这是我使用的命令行..它似乎运行得很好。
svnadmin dump <path_to_repo> | svndumpfilter2 <path_to_repo> [list of paths to keep] --renumber-revs --drop-empty-revs |bzip2 --best > svn_dumpfile_full.bz
“要保留的路径列表”可以像 trunk 一样简单
但它确实要求您直接访问 svn 服务器。
答案2
好吧,我一直犹豫着要不要回答这个问题,因为这个解决方案并不适合胆小的人,而且可能会让你发疯。
尝试手动更改转储文件的内容,方法是从转储文件中删除空白的修订版本。您可能还会发现,您需要重新执行所有修订版本号序列,并仔细检查要复制的修订版本是否存在和/或将其指向正确的修订版本。
这是比较棘手的部分,编辑转储文件时要小心。一次额外的密钥失误可能会导致修订版加载失败,因为所有内容都经过了哈希校验。
祝你好运!
答案3
实际上我认为除了 --drop-empty-revs 之外,你还需要 svndumpfilter (或者是 svndumpfilter2) 中的 '-renumber-revs' 选项