r30262 | stsp | 2008-04-04 10:05:00 -0500 (Fri, 04 Apr 2008)
On the tree-conflicts branch, flag tree conflicts upon obstructed files
during merge.
This fixes issue #3146.
* subversion/libsvn_wc/tree_conflicts.c
(tree_conflict_phrases): New members merge_added and obstructed.
(new_tree_conflict_phrases): Initialise new members of
tree_conflict_phrases.
(select_our_phrase, read_reason,
svn_wc__write_tree_conflicts_to_entry,
svn_wc_append_tree_conflict_info_xml): Handle new members of
tree_conflict_phrases.
* subversion/libsvn_wc/tree_conflicts.h
(SVN_WC__CONFLICT_REASON_OBSTRUCTED,
SVN_WC__CONFLICT_ACTION_ADDED): New constants.
* subversion/libsvn_client/merge.c
(tree_conflict): New function.
(merge_file_changed): Use new function tree_conflict instead of inline code.
(merge_file_added, merge_file_deleted): Use new function tree_conflict
instead of inline code. Detect and persist tree conflicts caused by
obstructed merge operations.
Review by: stylesen, julianfoad
(whose comments have transformed this patch into something much,
much better than it originally was :)