SVN:是否可以永久删除复制或删除的分支?

SVN:是否可以永久删除复制或删除的分支?,svn,svnadmin,Svn,Svnadmin,我必须从svn历史记录中永久删除一个分支。通常我会使用 svnadmin dump /path/to/repo |svndumpfilter --drop-empty-revs --renumber-revs exclude /branches/bad_branch 但是,此分支不仅是创建的,而且还被移动然后删除,转储脚本无法处理下游信息,并显示以下消息:无效的复制源路径“/branchs/bad_branch” 所以我想有两种方法来解决这个问题 只保留最新的几个版本 历史记录和当前存储库

我必须从svn历史记录中永久删除一个分支。通常我会使用

svnadmin dump /path/to/repo |svndumpfilter --drop-empty-revs --renumber-revs exclude /branches/bad_branch 
但是,此分支不仅是创建的,而且还被移动然后删除,转储脚本无法处理下游信息,并显示以下消息:无效的复制源路径“/branchs/bad_branch”

所以我想有两种方法来解决这个问题

  • 只保留最新的几个版本 历史记录和当前存储库 作为web上的存档

  • 转储到 已创建并应用“坏分支” 其余更改作为补丁, 因此失去了一些历史 最近的承诺


  • 有没有更好、更干净的方法来处理这个问题

    第2部分的第一部分将起作用。因此,是的,创建一个转储,直到引入有问题的分支的地方,并用它创建一个新的存储库。然后仍然使用svnadmin dump和--incremental选项,在坏的分支修订之间转储所有好的修订。以下是增量转储命令的示例:

    svnadmin dump /path/to/repo --incremental -r 1234:2345
    
    继续将这些增量转储应用于新存储库。这将生成一个存储库,而不会产生令人不快的错误分支创建、移动和提交,并保存您的所有历史记录,以备修补程序(如您所建议)可能会破坏的那些良好修订

    根据坏分支有多少修订,这是一个很大的工作。这也是目前使用1.6.x版本或更早版本的Subversion实现这一点的唯一方法


    现在有个警告。如果好的修订中有引用修订号的提交消息,它们将被关闭。如果只有有限的几个分支,那么这不会很糟糕,但是如果有很多分支,那么纠正这些分支可能会很繁琐。

    是否有任何特殊原因需要永远删除此分支?此分支包含整个项目树,使用git svn的人要获取大量数据,这需要花费数小时