SVN:树冲突什么时候 - “本地删除,更新时传入编辑”发生?

What I did :

  1. Performed svn up
  2. Renamed a folder from foo to bar
  3. Again performed svn up and got the conflict : local delete, incoming edit upon update

But why ?

  • I did svn log -v and found no commit post step 1
  • So, in that case svn should understand that I am renaming foo to bar
  • Why to raise a conflict if no one else has made changes to foo ?

Please explain how does svn looks at this situation ?

Cause: SVN does not know that you renamed the directory. In the meanwhile someone edited files in the directory and SVN is trying to find it in order to update. To rename the directory properly: rename it back to the old name locally and then run svn rename command (do svn rename --help for more info). You do not have to commit right away.

Note that svn log prints out the log starting with BASE revision - i.e. the last updated revision of your working copy, so you need to do svn log foo@HEAD to really see if anybody changed it.

To rename a directory you have to use the svn rename command. If you want to recover your directory : delete it (right click -> delete) and do an svn up