R – SVN Error after Merge and Commit

svntortoisesvn

I merged a branch to another branch and then made some of my own changes. When I went to check in the changes, I got this error:

Error:
– C:\dev\Backend\Backend_1.1.0.0
In directory
C:\dev\Backend\Backend_1.1.0.0\Unit Tests\MessageProcessor.Tests'
Error processing command 'committed' in
'C:\dev\Backend\Backend_1.1.0.0\Unit Tests\MessageProcessor.Tests'
Can't move
C:\dev\Backend\Backend_1.1.0.0\Unit Tests\MessageProcessor.Tests.svn\dir-props' to
C:\dev\Backend\Backend_1.1.0.0\Unit Tests\MessageProcessor.Tests.svn\dir-prop-base': The system cannot find the file specified.

Now I cannot commit (get "working copy locked, please execute cleanup" message), and executing "cleanup" gives the same message as above.

When I remove the offending directory as Greg Hewgill suggested and do an update, update asks for cleanup, and cleanup throws an error on a different subdirectory.

I'm going to check out a new copy of the source and manually merge my changes in, but I was wondering if A) there's a better way to fix this and B) if anyone knows what I did wrong.

Using TortoiseSVN 1.6.3, Build 16613 and Subversion 1.6.3 on Windows XP.

Best Answer

I don't think you did anything wrong, this happens sometimes with TortoiseSVN. Sometimes this is related to:

  • virus checker activity. Turn off virus checkers for your source directories if possible.
  • renames of files or directories that only change the case of the file (ie. tests -> Tests).

When this happens I usually try to fix it by removing or renaming the offending directory (in your case, C:\dev\Backend\Backend_1.1.0.0\Unit Tests\MessageProcessor.Tests) and then doing an Update to recreate that directory. Make sure that you don't accidentally throw away stuff that hasn't been committed yet.