* subversion/libsvn_wc/adm_ops.c (resolve_conflict_on_entry): Do not clear tree conflicts that are recorded in this entry. Do not send a notification, but instead report (through a new boolean output parameter) whether something was resolved. (resolve_found_entry_callback): Resolve any tree conflict for this victim. Send a notification if any conflict was resolved. (svn_wc_resolved_conflict4): Use an entries-walker function that visits unversioned tree conflict victims as well as ordinary entries.
Allow sched-deleted nodes to be resolved (fixes update_tests.py 15).
* subversion/libsvn_wc/adm_ops.c (resolve_found_entry_callback): Allow sched-deleted nodes to be resolved.
* subversion/libsvn_wc/entries.c (visit_tc_too_found_entry): Only try to retrieve the ADM_ACCESS in presence of tree-conflicts. (visit_tc_too_error_handler): Get the ADM_ACCESS on the parent instead of on the node itself, thus avoid an error upon an unversioned tree-conflict victim. ### TODO: check for greater subdir depths.
Fix a crash in del_tree_conflict().
* subversion/libsvn_wc/tree_conflicts.c (svn_wc__del_tree_conflict): Only write and run the log if LOG_ACCUM is not NULL.
Fix per-victim "resolved" on directory tree-conflict victims.
* subversion/libsvn_client/resolved.c (svn_client_resolve): Get the ADM_ACCESS on the target's parent directory to be able to resolve tree-conflicted directories. Extend the ADM_LOCK_LEVEL to still be able to lock the target node for text/prop conflicts.
* subversion/libsvn_wc/adm_ops.c (resolve_found_entry_callback): Completely split tree-conflict resolution from text and prop conflicts, because tree-conflicts need a different ADM_ACCESS when handling directories. Change use of RESOLVED to already reflect the sanity-check, and sanity-check separately for tree-conflicts. Clarify some conditions. Also remove the debugging conditions that exited prematurely.
* subversion/libsvn_wc/tree_conflicts.c (svn_wc__loggy_del_tree_conflict): Extend an assertion by a NULL check. Add another assertion to make sure the VICTIM_PATH is a child node of the ADM_ACCESS' path.
* subversion/libsvn_wc/tree_conflicts.h (svn_wc__loggy_add_tree_conflict, svn_wc__loggy_del_tree_conflict, svn_wc__del_tree_conflict, svn_wc__write_tree_conflicts_to_entry, svn_wc__tree_conflict_exists): Comments, add "@since New in 1.6.".
Fix the behaviour of "resolved" that descends into unversioned tree-conflicts even if the depth doesn't allow that.
* subversion/libsvn_wc/entries.c (visit_tc_too_baton_t): Add TARGET and DEPTH fields. (visit_tc_too_found_entry): Use new TARGET and DEPTH fields in the baton to determine whether to descend into unversioned tree-conflicted children of a directory. (svn_wc__walk_entries_and_tc): Supply TARGET and DEPTH to the baton.
* subversion/tests/cmdline/commit_tests.py (tree_conflicts_resolved): Adjust for resolving per victim.
* subversion/tests/cmdline/depth_tests.py (tree_conflicts_resolved_depth_empty, tree_conflicts_resolved_depth_files, tree_conflicts_resolved_depth_immediates, tree_conflicts_resolved_depth_infinity, make_depth_tree_conflicts): Four new tests and a helper. The tests are XFAIL because the helper make_depth_tree_conflicts() exposes an error in update code that is not related to "resolved". Separate trials suggest that these tests will pass as soon as the update issue is resolved. See inline comment in make_depth_tree_conflicts() marked "##". (test_list): Add the new tests.
* subversion/tests/cmdline/log_tests.py (merge_history_repos): Resolve the victim, not the parent.
* subversion/tests/cmdline/tree_conflict_tests.py (ensure_tree_conflict): Resolve the victim, not the parent. Make a "resolved" test also try run "resolved" on the victim's parent first, to make sure it doesn't resolve its children. Remove comment about not supporting "resolved" per victim.
* subversion/tests/cmdline/update_tests.py (another_hudson_problem): Resolve the victim, not the parent.
Note: This merge added mergeinfo on the subversion directory. This mergeinfo originated in r31940 on the issue-2843 branch, but there is no obvious reason why it was there. r31940 was a merge of r31359-31939 from trunk, but there is no mergeinfo diff between those revs, so where this came from is a complete mystery. In that light I removed this mergeinfo prior to the commit.