Search code examples
svnloaddumpsvn-repository

Faild to get lock in SVNRDUMP Load


I want to move svn folder to another svn folder. I used dump in old svn folder. After that I used svnrdump load to another svn folder. They are same machine different svn repo. During the load, I cut off with Ctr+C. After that I tried to load again. But the following error is returning.

> 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

Here is my code of svn.

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

How can I solve this? Thanks all


Solution

  • You can delete svn:rdump-lock on destination:

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

    But in this case if you want svnrdump load agian you'll get another error message (similar to follow):

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

    I didn't find other solution than:

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

    If you can ssh into FAILED_DESTINATION maybe can try svnadmin load -r LAST_SUCCESS_REV:HEAD < dumpfile. The svnrdump doesn't support -r option. But I think in this case (able to ssh) simplier to delete the partial repository and create a new one and do svnrdump load again.

    I'm not subversion-expert and I don't have any (better) idea.