Subversion 1.6.16
Functions

Repository lock wrappers

Hook-sensitive wrappers for libsvn_fs routines.

Functions

svn_error_tsvn_repos_fs_lock (svn_lock_t **lock, svn_repos_t *repos, const char *path, const char *token, const char *comment, svn_boolean_t is_dav_comment, apr_time_t expiration_date, svn_revnum_t current_rev, svn_boolean_t steal_lock, apr_pool_t *pool)
 Like svn_fs_lock(), but invoke the repos's pre- and post-lock hooks before and after the locking action.
svn_error_tsvn_repos_fs_unlock (svn_repos_t *repos, const char *path, const char *token, svn_boolean_t break_lock, apr_pool_t *pool)
 Like svn_fs_unlock(), but invoke the repos's pre- and post-unlock hooks before and after the unlocking action.
svn_error_tsvn_repos_fs_get_locks (apr_hash_t **locks, svn_repos_t *repos, const char *path, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
 Look up all the locks in and under path in repos, setting *locks to a hash which maps const char * paths to the svn_lock_t locks associated with those paths.

Detailed Description

Since:
New in 1.2.

Function Documentation

svn_error_t* svn_repos_fs_get_locks ( apr_hash_t **  locks,
svn_repos_t repos,
const char *  path,
svn_repos_authz_func_t  authz_read_func,
void *  authz_read_baton,
apr_pool_t *  pool 
)

Look up all the locks in and under path in repos, setting *locks to a hash which maps const char * paths to the svn_lock_t locks associated with those paths.

Use authz_read_func and authz_read_baton to "screen" all returned locks. That is: do not return any locks on any paths that are unreadable in HEAD, just silently omit them.

svn_error_t* svn_repos_fs_lock ( svn_lock_t **  lock,
svn_repos_t repos,
const char *  path,
const char *  token,
const char *  comment,
svn_boolean_t  is_dav_comment,
apr_time_t  expiration_date,
svn_revnum_t  current_rev,
svn_boolean_t  steal_lock,
apr_pool_t *  pool 
)

Like svn_fs_lock(), but invoke the repos's pre- and post-lock hooks before and after the locking action.

Use pool for any necessary allocations.

If the pre-lock hook or svn_fs_lock() fails, throw the original error to caller. If an error occurs when running the post-lock hook, return the original error wrapped with SVN_ERR_REPOS_POST_LOCK_HOOK_FAILED. If the caller sees this error, it knows that the lock succeeded anyway.

The pre-lock hook may cause a different token to be used for the lock, instead of token; see the pre-lock-hook documentation for more.

svn_error_t* svn_repos_fs_unlock ( svn_repos_t repos,
const char *  path,
const char *  token,
svn_boolean_t  break_lock,
apr_pool_t *  pool 
)

Like svn_fs_unlock(), but invoke the repos's pre- and post-unlock hooks before and after the unlocking action.

Use pool for any necessary allocations.

If the pre-unlock hook or svn_fs_unlock() fails, throw the original error to caller. If an error occurs when running the post-unlock hook, return the original error wrapped with SVN_ERR_REPOS_POST_UNLOCK_HOOK_FAILED. If the caller sees this error, it knows that the unlock succeeded anyway.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines