views:

353

answers:

2

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.

A: 

Download another copy and check if that one is correct. Sometimes this happens when the .svn files corrupts (for some akward reason but happens). I it is, keep the new and there you go. If not, make the changes, and commit again.

That's what I've done, and the new copy is correct. I'm just trying to figure out how to avoid this in the future, as manually merging my differences is a pain.
Ed Schwehm
+2  A: 

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.

Greg Hewgill
Good points. I did try turning off the virus checker (Norton), that had no effect. None of the files had been renamed at all, let alone case. I tried removing the directory and updating, but tried to update asks for cleanup, and cleanup throws the same error for other directories. I'll add that information to the question.
Ed Schwehm