* subversion/libsvn_wc/adm_ops.c (revert_restore_handle_copied_dirs): Don't ignore all errors returned by svn_io_dir_remove_nonrecursive(). Ignore only the ones we care about. Use svn_io_dir_remove_nonrecursive() to remove LOCAL_ABSPATH itself. This will check for remaining children so this function doesn't need to run the check itself.
Make 'svn revert' remove any kind of copied file, regardless of whether the file was modified post-copy.
The rationale for this change can be found in a comment by Julian Foad on issue #3601: http://subversion.tigris.org/issues/show_bug.cgi?id=3101#desc6 Quote: svn revert should undo the local text and prop changes, undo the scheduling, and also undo the copying of the file into its new location on disk, since that is (like prop changes) an operation that Subversion performed on the user's behalf as a "local modification" of the user's working copy.
Most parts of this change are concerned with removing the pristine checksum comparison revert_restore_handle_copied_file() was doing. A fix for a bug in revert_list_read() uncovered by a failing test is also included.
* subversion/tests/cmdline/copy_tests.py (remove_conflict_file): No need to remove 'pi' after revert.
* subversion/tests/cmdline/revert_tests.py (revert_tree_conflicts_in_updated_files): Expect 'A/D/G/rho' to be delete from disk after revert. No need to delete it manually.
* subversion/libsvn_wc/adm_ops.c (revert_restore_handle_copied_file): Remove. This was wrapping the comparison to the pristine file, which is now unnecessary. (revert_restore_handle_copied_dirs, revert_restore): Remove all reverted copied files from disk. Update some comments.
* subversion/libsvn_wc/wc-queries.sql (revert_list, trigger_revert_list_nodes, STMT_SELECT_REVERT_LIST, STMT_SELECT_REVERT_LIST_COPIED_CHILDREN): Drop the pristine CHECKSUM. It isn't needed anymore.
* subversion/libsvn_wc/wc_db.c (revert_list_read_baton): Remove PRISTINE_CHECKSUM. (revert_list_read): Remove handling of the pristine checksum. Fix a bug: The COPIED_HERE output parameter wasn't set correctly if a copied node also had an entry in the ACTUAL_NODES table. E.g. a copied node which was also a tree-conflict victim was not recognised as a copy by the revert code, and left behind unversioned on disk. Set COPIED_HERE correctly in this case, too. (svn_wc__db_revert_list_read): Remove PRISTINE_CHECKSUM output parameter. (revert_list_read_copied_children): Remove handling of the pristine checksum. Small indentation fixes.