# Repository lock wrappers
[Hook-sensitive wrappers for libsvn_fs routines.]

## Functions
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.
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.
svn_error_t * | svn_repos_fs_get_locks2 (apr_hash_t **locks, svn_repos_t *repos, const char *path, svn_depth_t depth, 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.
SVN_DEPRECATED 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)
| Similar to svn_repos_fs_get_locks2(), but with depth always passed as svn_depth_infinity.

## Function Documentation

SVN_DEPRECATED 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 |
| ) |  |  |

Similar to svn_repos_fs_get_locks2(), but with depth always passed as svn_depth_infinity.

Since:
  New in 1.2.

Deprecated:
  Provided for backward compatibility with the 1.6 API.

svn_error_t* svn_repos_fs_get_locks2 | ( | apr_hash_t ** | locks,
|  | svn_repos_t * | repos,
|  | const char * | path,
|  | svn_depth_t | depth,
|  | 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.

depth limits the returned locks to those associated with paths within the specified depth of path, and must be one of the following values: svn_depth_empty, svn_depth_files, svn_depth_immediates, or svn_depth_infinity.

Since:
  New in 1.7.

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.

Since:
  New in 1.2.

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.

Since:
  New in 1.2.

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines