未能在 SVNRDUMP 加载中获得锁定

Faild to get lock in SVNRDUMP Load

我想将 svn 文件夹移动到另一个 svn 文件夹。我在旧的 svn 文件夹中使用了转储。之后我使用 svnrdump 加载到另一个 svn 文件夹。它们是同一台机器不同的 svn repo。在加载过程中,我用 Ctr+C 中断。之后我尝试再次加载。但是返回以下错误。

> Failed to get lock on destination repos, currently held by 'current computer name'  
> svnrdump: E200015: Caught signal  
> svnrdump: E200042:
> Additional errors: svnrdump: E200015: Caught signal

这是我的svn代码。

svnrdump dump http://...... > C:/mydump
svnrdump load http://.......< C:/mydump

我该如何解决这个问题?谢谢大家

您可以在目的地删除 svn:rdump-lock

svn propdel svn:rdump-lock --revprop -r 0 DESTINATION

但在这种情况下,如果您想要 svnrdump load agian,您将收到另一条错误消息(类似于以下内容):

svnrdump: E160020: File already exists: filesystem '62fb10e7-eabe-e711-825a-005056a07bed', transaction '4-5', path '/trunk'

我没有找到其他解决方案,除了:

svn checkout FAILED_DESTINATION failed_dest
cd failed_dest
svn rm *
svn commit . -m "restart load"
svnrdump load FAILED_DESTINATION < full.dump

如果你能ssh变成FAILED_DESTINATION也许可以试试svnadmin load -r LAST_SUCCESS_REV:HEAD < dumpfilesvnrdump 不支持 -r 选项。但我认为在这种情况下(能够ssh)更简单的是删除部分存储库并创建一个新的并再次执行svnrdump load

我不是颠覆专家,也没有任何(更好的)想法。