I just got SVN's E
status code for the first time. What does it mean? The update
documentation says that it stands for "Existed," but gives no more detail than that.
Alternately, what is an "obstructing path"? The long help file states that "Obstructing paths are reported in the first column with code 'E'."
Some background: I deleted a file from my working copy that I shouldn't have deleted. Updating from SVN didn't restore it, so I created a new file with the same filename and copy-pasted the repo copy of the file into it.
I then added it to version control, but that gave it the "versioned file that needs to be added to the remote repository" status, not the "no local changes" status.
Using Subclipse, I selected Replace With > Latest from Repository on the parent folder, and this happened:
revert -N C:/foo/Bar.java
Reverted C:/foo/Bar.java
update C:/foo/Bar.java -r HEAD --force
E C:/foo/Bar.java
Updated to revision 396.
===== File Statistics: =====
Existing: 1
An "obstructing path" refers to an existing unversioned file or folder at a path where the update command needs to copy a versioned file or folder.
The E status only appears when the --force
flag is used, without the flag the update would just fail. With the flag, it leaves the file alone and allows you to decide what to do with it.
The puzzling thing about this situation is how it ended up thinking the file was unversioned immediately after a successful revert.
Ref: svn help update
If the obstructing path is the same type (file or directory) as the corresponding path in the repository it becomes versioned but its contents are left 'as-is' in the working copy.