Add a new svn_wc__db_scan_moved() function based on the internal scan_added()
which allows access to a bit more information. Use this information to fix
a case where a specific move could never be committed.

* subversion/libsvn_wc/adm_files.c
  (svn_wc__internal_ensure_adm): Update caller.

* subversion/libsvn_wc/adm_ops.c
  (check_can_add_to_parent): Update caller.

* subversion/libsvn_wc/copy.c
  (copy_or_move): Update caller.

* subversion/libsvn_wc/entries.c
  (get_info_for_deleted,
   read_one_entry): Update caller.

* subversion/libsvn_wc/info.c
  (build_info_for_node): Update caller. Only read moved_from for
    op-roots, like how we handle copies.

* subversion/libsvn_wc/node.c
  (svn_wc__internal_get_repos_info): Update caller.
  (svn_wc__internal_get_origin): Update caller.
  (svn_wc__node_was_moved_here): Use new api.

* subversion/libsvn_wc/status.c
  (read_info): Use different output argument of svn_wc__db_scan_addition.
  (assemble_status): Reduce scope of err. Use new api for obtaining moved
    from information.

* subversion/libsvn_wc/update_editor.c
  (check_tree_conflict,
   add_directory,
   add_file): Update caller.

* subversion/libsvn_wc/wc_db.c
  (svn_wc__db_scan_addition): Remove two arguments. Tell implementation which
    arguments are not needed to avoid additional queries in generic cases.
  (svn_wc__db_scan_moved): New function.

* subversion/libsvn_wc/wc_db.h
  (svn_wc__db_scan_addition): Remove moved_from handling additional
    information as no api user is really depending on it.
  (svn_wc__db_scan_moved): New function.

* subversion/tests/libsvn_wc/db-test.c
  (test_scan_addition): Update caller. Also call svn_wc__db_scan_moved.

* subversion/tests/libsvn_wc/op-depth-test.c
  (nested_move_commit): Use new api.
  (test_funcs): Remove XFail from commit_moved_descendant.


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