When adding a new file external, there should be no existing unversioned file.
Perform a shadowed update if there is one to avoid overwriting an existing
file.

* subversion/libsvn_wc/externals.c
  (edit_baton): Add boolean.
  (add_file): Mark added.
  (close_file): Don't just take over existing files, or failing while trying.

* subversion/tests/cmdline/externals_tests.py
  (move_with_file_externals): Remove XFail marker and some unneeded whitespace.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1434708 13f79535-47bb-0310-9956-ffa450edef68
Allow 'svn resolve' to break a move by reverting the delete-half of the move,
if the user chooses --accept=theirs-conflict at the conflict prompt, and only
if the delete-half of the move is still deleted (i.e. has not been replaced).

* subversion/libsvn_wc/conflicts.c
  (conflict_status_walker_baton): Add wc_ctx. This makes the 'db' member
   of this baton redundant, but do not remove the 'db' member right now
   to avoid lots of code churn.
  (conflict_status_walker): If the user picked 'theirs-conflict' to resolve
   a tree conflict involving a local move, and the delete-half of the move
   is still deleted, break the move by reverting the delete-half.
   This requires a wc context in order to lock the parent of the delete-half
   of the move. The wc context is obtained from the status walker baton. 
  (svn_wc__resolve_conflicts): Put the wc_ctx into the status walker baton.

* subversion/tests/cmdline/update_tests.py
  (break_moved_dir_edited_leaf_del): Remove XFAIL marker.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1434709 13f79535-47bb-0310-9956-ffa450edef68