Ensure that adds and deletes are reported in the right order in the
--notice-ancestry mode of the repos-wc diff editor.

* subversion/libsvn_wc/diff_editor.c
  (dir_baton_t): Add local status cache. Redefine compared.
  (ensure_local_info): New function.
  (walk_local_nodes_diff): Handle pre-compared functions more
    reliable.
  (ensure_local_only_handled): New function.
  (delete_entry): Redefine as user of ensure_local_only_handled.
  (add_directory): Make sure a local delete is handled before a remote
    add.
  (open_directory): Make sure local deletes are reported before remote
    edits, which will be reported as adds.
  (add_file): Make sure remote deletes are added before local adds.
  (open_file): Make sure local deletes are reported before remote
    edits, which will be reported as adds.
  (close_file): Report local file changes directly after remote changes.

* subversion/tests/cmdline/diff_tests.py
  (simple_ancestry): New function.
  (test_list): Add simple_ancestry.


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