Main Page   Modules   Data Structures   File List   Data Fields  

Hook-sensitive wrappers for libsvn_fs

routines. More...

Functions

svn_error_tsvn_repos_fs_commit_txn (const char **conflict_p, svn_repos_t *repos, svn_revnum_t *new_rev, svn_fs_txn_t *txn, apr_pool_t *pool)
 Like svn_fs_commit_txn(), but invoke the repos's pre- and post-commit hooks around the commit. More...

svn_error_tsvn_repos_fs_begin_txn_for_commit (svn_fs_txn_t **txn_p, svn_repos_t *repos, svn_revnum_t rev, const char *author, const char *log_msg, apr_pool_t *pool)
 Like svn_fs_begin_txn(), but use author and log_msg to set the corresponding properties on transaction *txn_p. More...

svn_error_tsvn_repos_fs_begin_txn_for_update (svn_fs_txn_t **txn_p, svn_repos_t *repos, svn_revnum_t rev, const char *author, apr_pool_t *pool)
 Like svn_fs_begin_txn(), but use author to set the corresponding property on transaction *txn_p. More...

svn_error_tsvn_repos_fs_change_rev_prop (svn_repos_t *repos, svn_revnum_t rev, const char *author, const char *name, const svn_string_t *new_value, apr_pool_t *pool)
 Like svn_fs_change_rev_prop(), but invoke the repos's pre- and post-revprop-change hooks around the change. More...

svn_error_tsvn_repos_fs_change_node_prop (svn_fs_root_t *root, const char *path, const char *name, const svn_string_t *value, apr_pool_t *pool)
 Validating wrapper for svn_fs_change_node_prop() (which see for argument descriptions).

svn_error_tsvn_repos_fs_change_txn_prop (svn_fs_txn_t *txn, const char *name, const svn_string_t *value, apr_pool_t *pool)
 Validating wrapper for svn_fs_change_txn_prop() (which see for argument descriptions).


Detailed Description

routines.


Function Documentation

svn_error_t* svn_repos_fs_begin_txn_for_commit svn_fs_txn_t **    txn_p,
svn_repos_t *    repos,
svn_revnum_t    rev,
const char *    author,
const char *    log_msg,
apr_pool_t *    pool
 

Like svn_fs_begin_txn(), but use author and log_msg to set the corresponding properties on transaction *txn_p.

repos is the repository object which contains the filesystem. rev, *txn_p, and pool are as in svn_fs_begin_txn().

Before a txn is created, the repository's start-commit hooks are run; if any of them fail, no txn is created, *txn_p is unaffected, and SVN_ERR_REPOS_HOOK_FAILURE is returned.

log_msg may be NULL to indicate the message is not (yet) available. The caller will need to attach it to the transaction at a later time.

svn_error_t* svn_repos_fs_begin_txn_for_update svn_fs_txn_t **    txn_p,
svn_repos_t *    repos,
svn_revnum_t    rev,
const char *    author,
apr_pool_t *    pool
 

Like svn_fs_begin_txn(), but use author to set the corresponding property on transaction *txn_p.

repos is the repository object which contains the filesystem. rev, *txn_p, and pool are as in svn_fs_begin_txn().

### Someday: before a txn is created, some kind of read-hook could be called here.

svn_error_t* svn_repos_fs_change_rev_prop svn_repos_t *    repos,
svn_revnum_t    rev,
const char *    author,
const char *    name,
const svn_string_t   new_value,
apr_pool_t *    pool
 

Like svn_fs_change_rev_prop(), but invoke the repos's pre- and post-revprop-change hooks around the change.

Use pool for temporary allocations.

rev is the revision whose property to change, name is the name of the property, and new_value is the new value of the property. author is the authenticated username of the person changing the property value, or null if not available.

svn_error_t* svn_repos_fs_commit_txn const char **    conflict_p,
svn_repos_t *    repos,
svn_revnum_t *    new_rev,
svn_fs_txn_t   txn,
apr_pool_t *    pool
 

Like svn_fs_commit_txn(), but invoke the repos's pre- and post-commit hooks around the commit.

Use pool for any necessary allocations.

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

conflict_p, new_rev, and txn are as in svn_fs_commit_txn().


Generated on Tue Oct 19 09:49:48 2004 for Subversion by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002