不幸的是,我已经向SVN提交了一个大文件夹(它有大约1.4GB和大约10000个文件,其中许多是二进制文件)。
是否有可能回到上一个修订版本,并使SVN服务器忘记下一个修订版本已完成?例如,此提交的版本为120。因此,我要进行最高版本119的删除,并删除120.版本的所有文件和SVN db设置。

我尝试删除该文件夹,所以121提交已完成。然后,我尝试合并121和119修订版。但这无济于事。修订版120仍在系统中。

然后,我想使用svnsync镜像SVN存储库,但是没有选择设置要镜像的版本。除非我没有找到此选项。 (我想将修订版本设置为0到119)。

你知道我该怎么办吗?是否有任何命令可以完全删除一个修订版,因为它从未发生过?

最佳答案

您必须转储存储库,然后重新加载它,跳过不再需要的修订版。 (在您的示例中为r120)

为此,请使用svnadmin dump命令,然后使用svnadmin load命令。

例子:

svnadmin dump c:\svn\my_repo -r0:119 > repo.dump
svnadmin load c:\svn\my_new_repo < repo.dump

在更复杂的场景中,您可能必须使用svndumpfilter,但是我认为这不是必需的。

10-08 15:22