Log Message: |
Add support for cleaning up externals via 'svn cleanup --include-externals'.
This should address the feature request from issue #2325.
* subversion/include/svn_client.h
(svn_client_cleanup2): Add include_externals parameter.
* subversion/include/svn_wc.h
(svn_wc_notify_t): New action svn_wc_notify_cleanup_external.
* subversion/libsvn_client/cleanup.c
(remove_unversioned_items_baton): Rename to ...
(cleanup_status_walk_baton): ... this, and replace notify/cancel support
members with a client context member which includes them.
(do_cleanup): New helper function, extracted from svn_client_cleanup2().
(remove_unversioned_items): Rename to ...
(cleanup_status_walk): ... this, and extend to optionally clean up externals
found during the status walk. Adjust for baton changes, too.
(svn_client_cleanup2): New parameter include_externals. Call the do_cleanup()
helper function which replaces most of this function's body.
* subversion/libsvn_client/deprecated.c
(svn_client_cleanup): Account for new parameter to svn_client_cleanup2().
* subversion/svn/cleanup-cmd.c
(svn_cl__cleanup): Pass opt_state->include_externals to svn_client_cleanup2().
* subversion/svn/notify.c
(notify): Handle svn_wc_notify_cleanup_external.
* subversion/svn/svn.c
(svn_cl__cmd_table): Add --include-extenals option to 'svn cleanup'.
* subversion/tests/cmdline/wc_tests.py
(cleanup_dir_external, test_list): New rather simple test.
|