When I do a svn status .
, I get this:
! C auto-complete-config.elc
> local edit, incoming delete upon update
! + C auto-complete.elc
> local edit, incoming delete upon update
! + C popup.elc
> local edit, incoming delete upon update
! + C fuzzy.elc
> local edit, incoming delete upon update
basically, these files shouldn't be in the repository. A developer has removed them. Then, I think I did a svn rm ...
after the fact by mistake (should've done svn update .
instead).
So now, when I do svn status .
, I get these tree conflict messages.
I found the doc here but not sure how to “merge” it according to the doc.
How to get rid of them?
I think my working copy is in sync with the repository. Don't know why these messages shows. These files should be removed and are removed as far as I know everywhere. I tried svn update .
and svn revert .
but I still get this message when I do svn status .
.
Best Answer
Short version:
If the conflict is about directories instead of files then replace
touch
withmkdir
andrm
withrm -r
.Note: the same procedure also work for the following situation:
Long version:
This happens when you edit a file while someone else deleted the file and commited first. As a good svn citizen you do an update before a commit. Now you have a conflict. Realising that deleting the file is the right thing to do you delete the file from your working copy. Instead of being content svn now complains that the local files are missing and that there is a conflicting update which ultimately wants to see the files deleted. Good job svn.
Should
svn resolve
not work, for whatever reason, you can do the following:Initial situation: Local files are missing, update is conflicting.
Recreate the conflicting files:
If the conflict is about directories then replace
touch
withmkdir
.New situation: Local files to be added to the repository (yeah right, svn, whatever you say), update still conflicting.
Revert the files to the state svn likes them (that means deleted):
New situation: Local files not known to svn, update no longer conflicting.
Now we can delete the files:
If the conflict is about directories then replace
rm
withrm -r
.svn no longer complains:
Done.