tags:

views:

16903

answers:

8

I have a lot of changes in a working folder, and something screwed up trying to do an update.

Now when I issue an 'svn cleanup' I get:

>svn cleanup .
svn: In directory '.'
svn: Error processing command 'modify-wcprop' in '.'
svn: 'MemPoolTests.cpp' is not under version control

MemPoolTests.cpp is a new file another developer added and was brought down in the update. It did not exist in my working folder before.

Is there anything I can do to try and move forward without having to checkout a fresh copy of the repository?

Clarification: Thanks for the suggestions about moving the directory out of the way and bringing down a new copy. I know that is an option, but it is one I'd like to avoid since there are many changes nested several directories deep (this should have been a branch...) What I'm hoping for is a more aggressive way of doing the cleanup, maybe someway of forcing the file svn is having trouble with back into a known state (and I tried deleting the working copy of it ... that didn't help).

+13  A: 

If all else fails:

  1. Checkout into a new folder.
  2. Copy your modified files over.
  3. Check back in.
  4. zip the old folder up somewhere ( you never know + paranoia is good) before deleting it and using the new one.
Martin Beckett
+4  A: 

subversion stores its information per folder (in .svn), so if you are just dealing with a subfolder you don't need checkout the whole repository - just the folder that has borked:

cd dir_above_borked
mv borked_dir borked_dir.bak
svn update borked_dir

this will give you a good working copy of the borked folder but you still have your changes backed up in borked_dir.bak . The same principle applies with windows/tortoise

if you have changes in an isolated folder have a look at the

svn checkout -N borked_dir   # non-recursive but deprecated

or

svn checkout --depth=files borked_dir 
# depth is new territory  to me but svn help checkout
Ken
hahahah I love bork.
Sara Chipps
+1  A: 

I had the exact same problem, I couldn't commit and cleanup would fail.

Using a command line client I was able to see an error message indicating that it was failing to move a file from .svn/props to .svn/prop-base

I looked at the specific file and found that it was marked read-only. After removing the read-only attribute I was able to cleanup the folder and the commit my changes.

Hope this helps.

DanJ
I gave up on that tree, and got a new one in the end. But thanks for the hint on something to check next time.
Rob Walker
+28  A: 

When starting all over is not an option...

I deleted the log file in the .svn directory (I also deleted the offending file in .svn/props-base)

Then did a cleanup..

Then resumed my update.

I was getting a similar problem to the original question here (due to an interrupted svn checkout). This fixed it for me. Though I also had to go up to the parent directory and do the same there.
Nigel Hawkins
Fixed an interrupted svn commit for me.
chrispy
Good call! worked like a champ.
Chris Gutierrez
A: 

It might not apply in all situations, but when I recently encountered this problem my "fix" was to upgrade the subversion package on my system. I had been running 1.4.something, and when I upgraded to the latest (1.6.6 in my case) the checkout worked.

(I did try re-downloading it, but a checkout to a clean directory always hung at the same spot.)

Dan

dan_linder
+1  A: 

It's possible that you have problem with two filenames differing only by uppercase. If you ran into this problem, creating another working copy directory does not solve the problem.

Current Windows (i.e. crappy) filesystems simply does not grok the difference between Filename and FILEname. You have two possible fixes:

  1. check out at platform with real filesystem (unix-based), rename the file and commit changes.
  2. when you are sticked to windows you can rename files in Eclipse svn repository browser which does recognise the difference and rename the file there.
andrej
This turned out to be my problem; a coworker had somehow managed to check in several Xcode project files, each with two copies differing only be letter case. I used TortoiseSVN to browse the repo and delete the extra files. Then I deleted my local folders containing the duplicate files, and svn update finally succeeded.
Kurt
A: 

Deleting the log file in the problematic directory worked for me as well!

wcolbert
This should be a comment, not an answer
lc
A: 

Read-only locking sometimes happens on network drives with windows. Try to disconnect and reconnect it again. Then cleanup and update.

Artjom Kurapov