Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/include/svn_repos.h view on Meta::CPAN
* the tree that the client is assumed to have knowledge of, and thus any
* copies of data from outside that part of the tree will be sent in their
* entirety, not as simple copies or deltas against a previous version.
*
* The @a editor passed to this function should be aware of the fact
* that, if @a send_deltas is FALSE, calls to its change_dir_prop(),
* change_file_prop(), and apply_textdelta() functions will not
* contain meaningful data, and merely serve as indications that
* properties or textual contents were changed.
*
* If @a send_deltas is @c TRUE, the text and property deltas for changes
* will be sent, otherwise NULL text deltas and empty prop changes will be
* used.
*
* If @a authz_read_func is non-NULL, it will be used to determine if the
* user has read access to the data being accessed. Data that the user
* cannot access will be skipped.
*
* @note This editor driver passes SVN_INVALID_REVNUM for all
* revision parameters in the editor interface except the copyfrom
* parameter of the add_file() and add_directory() editor functions.
*
* @since New in 1.4.
*/
svn_error_t *
svn_repos_replay2(svn_fs_root_t *root,
const char *base_dir,
svn_revnum_t low_water_mark,
svn_boolean_t send_deltas,
const svn_delta_editor_t *editor,
void *edit_baton,
svn_repos_authz_func_t authz_read_func,
void *authz_read_baton,
apr_pool_t *pool);
/**
* Similar to svn_repos_replay2(), but with @a base_dir set to @c "",
* @a low_water_mark set to #SVN_INVALID_REVNUM, @a send_deltas
* set to @c FALSE, and @a authz_read_func and @a authz_read_baton
* set to @c NULL.
*
* @deprecated Provided for backward compatibility with the 1.3 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_repos_replay(svn_fs_root_t *root,
const svn_delta_editor_t *editor,
void *edit_baton,
apr_pool_t *pool);
/* ---------------------------------------------------------------*/
/* Making commits. */
/**
* Return an @a editor and @a edit_baton to commit changes to the
* filesystem of @a repos, beginning at location 'rev:@a base_path',
* where "rev" is the argument given to open_root().
*
* @a repos is a previously opened repository. @a repos_url is the
* decoded URL to the base of the repository, and is used to check
* copyfrom paths. copyfrom paths passed to the editor must be full,
* URI-encoded, URLs. @a txn is a filesystem transaction object to use
* during the commit, or @c NULL to indicate that this function should
* create (and fully manage) a new transaction.
*
* Store the contents of @a revprop_table, a hash mapping <tt>const
* char *</tt> property names to #svn_string_t values, as properties
* of the commit transaction, including author and log message if
* present.
*
* @note #SVN_PROP_REVISION_DATE may be present in @a revprop_table, but
* it will be overwritten when the transaction is committed.
*
* Iff @a authz_callback is provided, check read/write authorizations
* on paths accessed by editor operations. An operation which fails
* due to authz will return SVN_ERR_AUTHZ_UNREADABLE or
* SVN_ERR_AUTHZ_UNWRITABLE.
*
* Calling @a (*editor)->close_edit completes the commit.
*
* If @a commit_callback is non-NULL, then before @c close_edit returns (but
* after the commit has succeeded) @c close_edit will invoke
* @a commit_callback with a filled-in #svn_commit_info_t *, @a commit_baton,
* and @a pool or some subpool thereof as arguments. If @a commit_callback
* returns an error, that error will be returned from @c close_edit,
* otherwise if there was a post-commit hook failure, then that error
* will be returned with code SVN_ERR_REPOS_POST_COMMIT_HOOK_FAILED.
* (Note that prior to Subversion 1.6, @a commit_callback cannot be NULL; if
* you don't need a callback, pass a dummy function.)
*
* Calling @a (*editor)->abort_edit aborts the commit, and will also
* abort the commit transaction unless @a txn was supplied (not @c
* NULL). Callers who supply their own transactions are responsible
* for cleaning them up (either by committing them, or aborting them).
*
* @since New in 1.5.
*
* @note Yes, @a repos_url is a <em>decoded</em> URL. We realize
* that's sorta wonky. Sorry about that.
*/
svn_error_t *
svn_repos_get_commit_editor5(const svn_delta_editor_t **editor,
void **edit_baton,
svn_repos_t *repos,
svn_fs_txn_t *txn,
const char *repos_url,
const char *base_path,
apr_hash_t *revprop_table,
svn_commit_callback2_t commit_callback,
void *commit_baton,
svn_repos_authz_callback_t authz_callback,
void *authz_baton,
apr_pool_t *pool);
/**
* Similar to svn_repos_get_commit_editor5(), but with @a revprop_table
* set to a hash containing @a user and @a log_msg as the
* #SVN_PROP_REVISION_AUTHOR and #SVN_PROP_REVISION_LOG properties,
* respectively. @a user and @a log_msg may both be @c NULL.
*
* @since New in 1.4.
*
* @deprecated Provided for backward compatibility with the 1.4 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_repos_get_commit_editor4(const svn_delta_editor_t **editor,
void **edit_baton,
svn_repos_t *repos,
svn_fs_txn_t *txn,
const char *repos_url,
const char *base_path,
const char *user,
const char *log_msg,
svn_commit_callback2_t commit_callback,
void *commit_baton,
svn_repos_authz_callback_t authz_callback,
void *authz_baton,
apr_pool_t *pool);
/**
* Similar to svn_repos_get_commit_editor4(), but
* uses the svn_commit_callback_t type.
*
* @since New in 1.3.
*
* @deprecated Provided for backward compatibility with the 1.3 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_repos_get_commit_editor3(const svn_delta_editor_t **editor,
void **edit_baton,
svn_repos_t *repos,
svn_fs_txn_t *txn,
const char *repos_url,
const char *base_path,
const char *user,
const char *log_msg,
( run in 0.599 second using v1.01-cache-2.11-cpan-df04353d9ac )