Implement a conflict walker directly in the 'svn' client.
This is needed to keep moving the client over to the new svn_client_conflict API, and as a result keep improving this API.
Before this change, the 'svn' client was forced to resolve conflicts by passing a legacy conflict result back to libsvn_wc, since the resolution process was driven from within libsvn_wc. Now, the client drives the resolution process without using the conflict callback. It relies on 'status' and some private libsvn_wc APIs for this purpose. Use of private APIs will go away once more use of the public svn_client_conflict API is implemented.
There may be some fallout in interactive conflict resolution mode since it cannot be automatically tested. However, the regression test suite passes. If you're using a trunk client and run into problems during interactive conflict resolution, please let me know.
* subversion/svn/cl.h (svn_cl__resolve_conflict): Declare. No docstring yet since I'm not sure whether this is going to stay around very long.
* subversion/svn/resolve-cmd.c (conflict_status_walker_baton, tree_conflict_collector, conflict_status_walker, walk_conflicts): Implement a conflict walker based on similar code in libsvn_wc. (svn_cl__resolve): Use the new conflict APIs instead of svn_client_resolve().