The tree-conflict detection code is now safe for serf (in update and switch, which weren't safe before).  Instead of setting and unsetting a "global" current-conflict path, the update editor simply checks if the current path being deleted, added or opened is within an already-encountered conflict (tree or property).
The tree-conflict detection code is now safe for serf (in update and
switch, which weren't safe before).  Instead of setting and unsetting
a "global" current-conflict path, the update editor simply checks if
the current path being deleted, added or opened is within an
already-encountered conflict (tree or property).

* subversion/libsvn_wc/update_editor.c
  (edit_baton): Rename skipped_paths field to skipped_trees, because
   we now skip all descendants of a conflicted directory.  Remove the
   current_conflict field.
  (remember_skipped_path): Rename to...
  (remember_skipped_tree): ...this.
  (in_skipped_tree):  New function.
  (complete_directory,
   do_entry_deletion,
   add_directory,
   open_directory,
   add_file,
   open_file,
   close_edit,
   make_editor): Track renames.  Use in_skipped_tree() instead of
   checking the edit_baton->current_conflict field.  Don't add
   redundant paths (i.e., descendants of already-visited conflicts)
   to the skipped_tree set.


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

YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,wbond/subversion,wbond/subversion,YueLinHo/Subversion,wbond/subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,wbond/subversion,wbond/subversion,YueLinHo/Subversion,wbond/subversion,wbond/subversion