Don't lose the "Failure occurred processing one or more externals definitions" error message if an unrelated error occurs. For instance, errors returned from the conflict resolver would mask the "externals error" message.
* subversion/svn/switch-cmd.c (svn_cl__switch): Don't return the "externals processing" error directly, but merge it with any other potential errors from later function calls.
* subversion/svn/update-cmd.c (svn_cl__update): As previous.
When running the conflict resolver at the end of an 'svn update' operation, resolve conflicts only on paths which got new conflicts flagged during the update operation, rather than also resolving conflicts which were left behind within the update targets by some other operation.
* subversion/svn/notify.c (notify_baton): Add conflicted_paths hash. (add_conflicted_path): New helper to add a conflicted path to above hash. (notify): Add any confliced paths to above hash. (svn_cl__get_notifier): Initialise the conflicted_paths hash. (svn_cl__notifier_get_conflicted_paths): Return a path-wise sorted array of confliced paths added during notification.
* subversion/svn/update-cmd.c (svn_cl__update): Pass the list of newly conflicted paths to the resolver, rather than passing the entire update target list.