Skip to main content

svn_client_vacuum

Function svn_client_vacuum 

Source
pub unsafe extern "C" fn svn_client_vacuum(
    dir_abspath: *const c_char,
    remove_unversioned_items: svn_boolean_t,
    remove_ignored_items: svn_boolean_t,
    fix_recorded_timestamps: svn_boolean_t,
    vacuum_pristines: svn_boolean_t,
    include_externals: svn_boolean_t,
    ctx: *mut svn_client_ctx_t,
    scratch_pool: *mut apr_pool_t,
) -> *mut svn_error_t
Expand description

Recursively vacuum a working copy directory @a dir_abspath, removing unnecessary data.

If @a include_externals is @c TRUE, recurse into externals and vacuum them as well.

If @a remove_unversioned_items is @c TRUE, remove unversioned items in @a dir_abspath after successful working copy cleanup. If @a remove_ignored_items is @c TRUE, remove ignored unversioned items in @a dir_abspath after successful working copy cleanup.

If @a fix_recorded_timestamps is @c TRUE, this function fixes recorded timestamps for unmodified files in the working copy, reducing comparision time on future checks.

If @a vacuum_pristines is @c TRUE, and @a dir_abspath points to the working copy root unreferenced files in the pristine store are removed.

When asked to remove unversioned or ignored items, and the working copy is already locked, return #SVN_ERR_WC_LOCKED. This prevents accidental working copy corruption in case users run the cleanup operation to remove unversioned items while another client is performing some other operation on the working copy.

If @a ctx->cancel_func is non-NULL, invoke it with @a ctx->cancel_baton at various points during the operation. If it returns an error (typically #SVN_ERR_CANCELLED), return that error immediately.

Use @a scratch_pool for any temporary allocations.

@since New in 1.9.