* subversion/libsvn_wc/wc_db.c (db_extend_parent_delete): Remove unused diagnostics argument. (insert_base_node): Update caller. (svn_wc__db_op_copy_layer_internal): Use a simple check to see when a parent delete might need extension.
Make the (non recursive) revert db operation properly report tree conflicts that it creates by both fixing what is stored in the tree conflict and by properly creating notifications.
Note that a recursive revert wouldn't encounter this problem as it would just break the moves.
* subversion/libsvn_wc/token-map.h (kind_map): New array.
* subversion/libsvn_wc/wc-queries.sql (STMT_CREATE_REVERT_LIST): Only add interesting rows. (STMT_SELECT_REVERT_LIST_RECURSIVE): Make the revert information available instead of just the name. (STMT_CREATE_UPDATE_MOVE_LIST): Store kind as token like in other places, to allow transforming to revert information. (STMT_MOVE_NOTIFY_TO_REVERT): New statement.
* subversion/libsvn_wc/wc_db.c (op_revert_txn): Only bump moved nodes after they have been moved to the final op-depth. Transform move_update information into revert information. (revert_list_read): Simplify, since we can now assume only normal reverts are in the list. (svn_wc__db_revert_list_notify): Handle new tree conflict notifications and pass kind when available.
* subversion/libsvn_wc/wc_db_private.h (svn_wc__db_op_raise_moved_away_internal): New function.
* subversion/libsvn_wc/wc_db_update_move.c (update_move_list_add): Set kind as token instead of as integer. (svn_wc__db_update_move_list_notify): Read kind as token. (resolve_delete_raise_moved_away): Rename to... (svn_wc__db_op_raise_moved_away_internal): ... this. Make public and add delete_op_depth argument, to allow bumping from a higher root node. (break_moved_away_children): Use existing kind column to improve notifications.
* subversion/tests/cmdline/move_tests.py (revert_del_root_of_move): New function.