views:

47

answers:

1

I use Subversion mainly to synchronize work between two computers I use on a daily basis (and as a backup, since I have a checked-out copy of the repository on each computer). I keep the main repository on a USB flashdrive.

I recently came across the following error when trying to commit a current working copy (and both working copies, one on each computer, are identical now):

! C career\UVaOnlineJudge\Log.doc
local delete, incoming delete upon update
! C career\UVaOnlineJudge\102\Main.class
local delete, incoming delete upon update

Without going into more detail about what I did to get the repository out of synch, my question is more general. What does “local delete, incoming delete upon update” mean? What is Subversion expecting that I’m not giving it?

+4  A: 

Without using your detail (that you didn't provide) about what you did to get into this situation, it sounds like you did something similar to:

  1. Delete "Log.doc" on computer A
  2. Delete "Log.doc" on computer B
  3. Commit the change from computer A to your repository
  4. Try to update the repository on computer B

Subversion is trying to merge the delete from the repository with the local delete, and doesn't feel as though that's going to merge cleanly. What you may be able to do is:

svn revert Log.doc
svn revert 102/Main.class

and try the svn update again. Subversion will apply the incoming "delete" operation from the repository and delete those local files.

Greg Hewgill
You were exactly right. I wasn’t familiar with Subversion’s revert command, but this did the trick. I also think I understand the sequence of events that occurred to get my repository in this state (clearly out of synch, there’s no way a version control system would be able to synchronize this on its own). Great guess on the sequence of events that led to this state, you were right on the mark. Thanks for the quick solution.
dvanaria
Usually `svn resolved` is the way to mark a conflict as resolved. In this case `svn revert` has the same effect, but in other cases it will remove your local changes.
Bert Huijben