On the 'move-tracking-2' branch: Start making 'svnmover merge' (and 'svnmover switch') report conflicts more programatically and thoroughly.
On the 'move-tracking-2' branch: Start making 'svnmover merge' (and
'svnmover switch') report conflicts more programatically and thoroughly.

* subversion/svnmover/svnmover.c
  (element_merge3_conflict_t,
   element_merge3_conflict_create,
   name_clash_conflict_t,
   name_clash_conflict_create,
   orphan_conflict_t,
   orphan_conflict_create,
   conflict_storage_t,
   conflict_storage_create,
   brief_eid_and_name_or_nil,
   display_conflicts): New.
  (element_merge): Return a conflict object instead of just a boolean.
  (merge_subbranch): Ignore, for now, any conflicts from merging a
    subbranch.
  (detect_clashes): Store clash-conflict objects instead of just some
    elements.
  (detect_orphans): New.
  (branch_merge_subtree_r): Collect and return the conflicts instead
    of just raising an error.
  (svn_branch_merge): Return the conflicts.
  (do_switch,
   execute): If the merge returns any conflicts, display them and then
    raise an error.  

git-svn-id: 486ec3464084f62cfe8608152673c827b947faa2@1710269 13f79535-47bb-0310-9956-ffa450edef68

YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion