Some more refinement of the new editor code: - add cancellation support into the core editor - assert that callbacks are provided, if they get invoked
* subversion/include/svn_editor.h: (svn_editor_create): accept CANCEL_FUNC and CANCEL_BATON params
* subversion/libsvn_delta/editor.c: (svn_editor_t): add CANCEL_FUNC and CANCEL_BATON members (svn_editor_create): add CANCEL_FUNC and CANCEL_BATON params, and store them into the editor structure. (svn_editor_add_directory, svn_editor_add_directory_streamy, svn_editor_add_file, svn_editor_add_symlink, svn_editor_add_absent, svn_editor_set_props, svn_editor_set_text, svn_editor_set_target, svn_editor_delete, svn_editor_copy, svn_editor_move): call the new cancellation functions, and test for the callback (svn_editor_complete, svn_editor_abort): test for the callback. these functions do not test for cancellation since they are the last things to be called, and we may as well let them wrap up.
Switch the editor's scratch_pool to clear-on-exit rather than entry. This is a bit more code, but it should help to keep peak memory a bit lower.
Another change in this revision is modifying the "child stream" on add_directory_streamy to move to an iterative callback to fetch children, rather than a stream. Much easier than setting up stream readers/writers and serialization mechanisms.
* subversion/include/svn_editor.h: (svn_editor_cb_add_directory_streamy_t): adjust this callback type to have an iterative callback, rather than an svn_stream_t. (svn_editor_add_directory_streamy): adjust params to provide a callback to fetch child names, rather than a stream.
* subversion/libsvn_delta/editor.c: (svn_editor_add_directory, svn_editor_add_file, svn_editor_add_symlink, svn_editor_add_absent, svn_editor_set_props, svn_editor_set_text, svn_editor_set_target, svn_editor_delete, svn_editor_copy, svn_editor_move, svn_editor_complete, svn_editor_abort): switch the scratch_pool to clear-on-exit (svn_editor_add_directory_streamy): adjust parameters to a callback rather than a stream. change scratch_pool to clear-on-exit.