Skip to main content

svn_fs_unlock_many

Function svn_fs_unlock_many 

Source
pub unsafe extern "C" fn svn_fs_unlock_many(
    fs: *mut svn_fs_t,
    unlock_targets: *mut apr_hash_t,
    break_lock: svn_boolean_t,
    lock_callback: svn_fs_lock_callback_t,
    lock_baton: *mut c_void,
    result_pool: *mut apr_pool_t,
    scratch_pool: *mut apr_pool_t,
) -> *mut svn_error_t
Expand description

Remove the locks on the paths in @a unlock_targets in @a fs.

The paths to be unlocked are passed as const char * keys of the @a unlock_targets hash with the corresponding lock tokens as const char * values. If the token doesn’t point to a lock, yield an #SVN_ERR_FS_BAD_LOCK_TOKEN error for this path. If the token points to an expired lock, yield an #SVN_ERR_FS_LOCK_EXPIRED error for this path. If @a fs has no username associated with it, yield an #SVN_ERR_FS_NO_USER unless @a break_lock is specified.

If the token points to a lock, but the username of @a fs’s access context doesn’t match the lock’s owner, yield an #SVN_ERR_FS_LOCK_OWNER_MISMATCH. If @a break_lock is TRUE, however, don’t return error; allow the lock to be “broken” in any case. In the latter case, the token shall be @c NULL.

For each path in @a unlock_targets @a lock_callback will be invoked passing @a lock_baton and error that apply to path. The @a lock passed to the callback will be NULL. @a lock_callback can be NULL in which case it is not called and any errors that would have been passed to the callback are not reported.

The path passed to lock_callback will be allocated in @a result_pool. Use @a scratch_pool for temporary allocations.

@note This function is not atomic. If it returns an error, some targets may remain locked while others may have been unlocked.

@note You probably don’t want to use this directly. Take a look at svn_repos_fs_unlock_many() instead.

@since New in 1.9.