SVN - 完全删除SVN服务器的修订版

时间:2012-01-18 12:26:44

标签: svn repository

我遗憾地向SVN提交了一个大文件夹(它有大约1.4GB和大约10000个文件,其中许多是二进制文件)。 是否有可能回到以前的版本并让SVN服务器忘记下一次修订已完成?例如,此提交是修订版120.所以我想制作顶级修订版119并删除120. revision的所有文件和SVN数据库设置。

我已经尝试删除该文件夹,因此完成了121提交。然后我尝试合并修订版121和119.但它没有帮助。修订版120仍在系统中。

然后我想使用svnsync制作SVN存储库的镜像,但是没有选项可以设置我希望镜像的版本。除非我没有找到这个选项。 (我想将修订版从0设置为119)。

你知道我该怎么办吗?有没有完全删除一个修订版的命令,因为它从未发生过?

2 个答案:

答案 0 :(得分:14)

您必须转储存储库,然后重新加载它,跳过您不再需要的修订版。 (在你的例子中是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,但我不认为您的情况是必要的。

答案 1 :(得分:-1)

你可以做以下两件事之一:

  1. 登录SVN服务器,删除不需要的文件,然后注销。这将创建另一个版本,但由于它是通过服务器界面完成的,因此几乎没有机会崩溃。
  2. 恢复到修订版119,进行一些小的更改,然后提交。通过accepting yours解决所有冲突。