Ev2 shims:
Ev2 shims:

The editor collects a bunch of data while in debug mode, to verify a
bunch of constraints. There are a number of other constraints we can
look for, so code up the assertions...

* subversion/libsvn_delta/editor.c:
  (MARK_PARENT_STABLE): used to mark the parent of a node as needing
    to stay where it is (no delets, move, replace).
  (VERIFY_PARENT_MAY_EXIST): there are cases wen we know a parent
    doesn't exist (thus an operation on a child is not possible), and
    this macro can catch those.
  (CHILD_DELETIONS_ALLOWED): added directories, and directories moved
    away cannot possibly have children which can be deleted. catch
    these situations.
  (mark_parent_stable): helper function for the above macro
  (svn_editor_add_directory, svn_editor_add_file,
      svn_editor_add_symlink, svn_editor_add_absent,
      svn_editor_alter_directory, svn_editor_alter_file,
      svn_editor_alter_symlink): use VERIFY_PARENT_MAY_EXIST() to
    eliminate definitely-missing parents. use MARK_PARENT_STABLE() to
    deny structural changes to the parent, now that we've performed an
    operation on a child.
  (svn_editor_delete): ensure a parent might exist, and that deletions
    are allowed in this directory. use MARK_PARENT_STABLE() now that
    we've munged a child.
  (svn_editor_copy): verify the parents of the source and destination
    might exist. stabilize the parent of the destination.
  (svn_editor_move): verify the parents of the source and destination,
    and that deletions are allowed in the source directory. mark both
    source and destination as needing to remain stable.
  (svn_editor_create): verify all parents exist and that deletions are
    allowed. mark all new parents as needing to be stable.


git-svn-id: f8a4e5e023278da1e04e203c7fe051e3c4285d88@1333739 13f79535-47bb-0310-9956-ffa450edef68

YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion