无法锁定SVNRDUMP负载

zan*_*tet 1 svn load dump svn-repository

我想将svn文件夹移动到另一个svn文件夹。我在旧的svn文件夹中使用了dump。之后,我使用svnrdump加载到另一个svn文件夹。他们是同一台机器的不同svn回购。在加载期间,我以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
Run Code Online (Sandbox Code Playgroud)

这是我的svn代码。

svnrdump dump http://...... > C:/mydump
svnrdump load http://.......< C:/mydump
Run Code Online (Sandbox Code Playgroud)

我该如何解决?谢谢大家

uzs*_*olt 5

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

svn propdel svn:rdump-lock --revprop -r 0 DESTINATION
Run Code Online (Sandbox Code Playgroud)

但是在这种情况下,如果您想使用svnrdump loadagian,则会收到另一条错误消息(类似于以下内容):

svnrdump: E160020: File already exists: filesystem '62fb10e7-eabe-e711-825a-005056a07bed', transaction '4-5', path '/trunk'
Run Code Online (Sandbox Code Playgroud)

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

svn checkout FAILED_DESTINATION failed_dest
cd failed_dest
svn rm *
svn commit . -m "restart load"
svnrdump load FAILED_DESTINATION < full.dump
Run Code Online (Sandbox Code Playgroud)

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

我不是Subversion专家,并且我没有任何(更好的)想法。