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

Generated on 29 Sep 2009 for Subversion by  doxygen 1.6.1