stylesen, julianfoad


Review
r30262

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 :)