Checkout
stsp
committed
on 27 Jun 13
Add support for cleaning up externals via 'svn cleanup --include-externals'.
This should address the feature request from issue #2325.

* su… Show more
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.

Show less