Qouting Julian Foad and myself in
http://subversion.tigris.org/servlets/ReadMsg?list=dev&msgNo=136849
>>> {
>>>- *state = svn_wc_notify_state_obstructed;
>>>+ /* The file is obstructed, so it is a tree conflict victim.
>>>+ * See notes about obstructions in notes/tree-conflicts/detection.txt.
>>>+ */
>>
>>So, we're saying: if this function failed to delete the file, then we must flag
>>a conflict because there's some sort of obstruction.
>>
>>That's probably right, but I'm not sure exactly how svn_client__wc_delete()
>>behaves. We need to update its doc-string to specify the conditions under which
>>it fails, so that we can rely on it here.
>
> I've updated the comment:
>
> /* The file deletion the merge wanted to do could not be carried
> * out for some reason, so the file deletion was obstructed.
> * Hence the file merge wants to delete is a tree conflict victim.
> * See notes about obstructions in notes/tree-conflicts/detection.txt.
> */
Great.
> I agree that we should verify in which cases svn_client__wc_delete
> can fail, so that we don't end up flagging tree conflicts that
> aren't any. Issue? :)
Yes, please file an issue. The more (or equally) important thing that could go
wrong is that the function could quietly do nothing in lots of cases without
raising an error, and then we'd be failing to detect the conflict.
http://svn.collab.net/repos/svn/branches/tree-conflicts