Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/include/svn_repos.h view on Meta::CPAN
/**
* Get libsvn_repos version information.
*
* @since New in 1.1.
*/
const svn_version_t *
svn_repos_version(void);
/* Some useful enums. They need to be declared here for the notification
system to pick them up. */
/** The different "actions" attached to nodes in the dumpfile. */
enum svn_node_action
{
svn_node_action_change,
svn_node_action_add,
svn_node_action_delete,
svn_node_action_replace
};
/** The different policies for processing the UUID in the dumpfile. */
enum svn_repos_load_uuid
{
/** only update uuid if the repos has no revisions. */
svn_repos_load_uuid_default,
/** never update uuid. */
svn_repos_load_uuid_ignore,
/** always update uuid. */
svn_repos_load_uuid_force
};
/** Callback type for checking authorization on paths produced by (at
* least) svn_repos_dir_delta2().
*
* Set @a *allowed to TRUE to indicate that some operation is
* authorized for @a path in @a root, or set it to FALSE to indicate
* unauthorized (presumably according to state stored in @a baton).
*
* Do not assume @a pool has any lifetime beyond this call.
*
* The exact operation being authorized depends on the callback
* implementation. For read authorization, for example, the caller
* would implement an instance that does read checking, and pass it as
* a parameter named [perhaps] 'authz_read_func'. The receiver of
* that parameter might also take another parameter named
* 'authz_write_func', which although sharing this type, would be a
* different implementation.
*
* @note If someday we want more sophisticated authorization states
* than just yes/no, @a allowed can become an enum type.
*/
typedef svn_error_t *(*svn_repos_authz_func_t)(svn_boolean_t *allowed,
svn_fs_root_t *root,
const char *path,
void *baton,
apr_pool_t *pool);
/** An enum defining the kinds of access authz looks up.
*
* @since New in 1.3.
*/
typedef enum svn_repos_authz_access_t
{
/** No access. */
svn_authz_none = 0,
/** Path can be read. */
svn_authz_read = 1,
/** Path can be altered. */
svn_authz_write = 2,
/** The other access credentials are recursive. */
svn_authz_recursive = 4
} svn_repos_authz_access_t;
/** Callback type for checking authorization on paths produced by
* the repository commit editor.
*
* Set @a *allowed to TRUE to indicate that the @a required access on
* @a path in @a root is authorized, or set it to FALSE to indicate
* unauthorized (presumable according to state stored in @a baton).
*
* If @a path is NULL, the callback should perform a global authz
* lookup for the @a required access. That is, the lookup should
* check if the @a required access is granted for at least one path of
* the repository, and set @a *allowed to TRUE if so. @a root may
* also be NULL if @a path is NULL.
*
* This callback is very similar to svn_repos_authz_func_t, with the
* exception of the addition of the @a required parameter.
* This is due to historical reasons: when authz was first implemented
* for svn_repos_dir_delta2(), it seemed there would need only checks
* for read and write operations, hence the svn_repos_authz_func_t
* callback prototype and usage scenario. But it was then realized
* that lookups due to copying needed to be recursive, and that
* brute-force recursive lookups didn't square with the O(1)
* performances a copy operation should have.
*
* So a special way to ask for a recursive lookup was introduced. The
* commit editor needs this capability to retain acceptable
* performance. Instead of revving the existing callback, causing
* unnecessary revving of functions that don't actually need the
* extended functionality, this second, more complete callback was
* introduced, for use by the commit editor.
*
* Some day, it would be nice to reunite these two callbacks and do
* the necessary revving anyway, but for the time being, this dual
* callback mechanism will do.
*/
typedef svn_error_t *(*svn_repos_authz_callback_t)
(svn_repos_authz_access_t required,
svn_boolean_t *allowed,
svn_fs_root_t *root,
const char *path,
void *baton,
apr_pool_t *pool);
src/subversion/subversion/include/svn_repos.h view on Meta::CPAN
/**
* Verify the contents of the file system in @a repos.
*
* If @a feedback_stream is not @c NULL, write feedback to it (lines of
* the form "* Verified revision %ld\n").
*
* If @a start_rev is #SVN_INVALID_REVNUM, then start verifying at
* revision 0. If @a end_rev is #SVN_INVALID_REVNUM, then verify
* through the @c HEAD revision.
*
* For every verified revision call @a notify_func with @a rev set to
* the verified revision and @a warning_text @c NULL. For warnings call @a
* notify_func with @a warning_text set.
*
* If @a cancel_func is not @c NULL, call it periodically with @a
* cancel_baton as argument to see if the caller wishes to cancel the
* verification.
*
* @since New in 1.7.
*/
svn_error_t *
svn_repos_verify_fs2(svn_repos_t *repos,
svn_revnum_t start_rev,
svn_revnum_t end_rev,
svn_repos_notify_func_t notify_func,
void *notify_baton,
svn_cancel_func_t cancel,
void *cancel_baton,
apr_pool_t *scratch_pool);
/**
* Similar to svn_repos_verify_fs2(), but with a feedback_stream instead of
* handling feedback via the notify_func handler
*
* @since New in 1.5.
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_repos_verify_fs(svn_repos_t *repos,
svn_stream_t *feedback_stream,
svn_revnum_t start_rev,
svn_revnum_t end_rev,
svn_cancel_func_t cancel_func,
void *cancel_baton,
apr_pool_t *pool);
/**
* Dump the contents of the filesystem within already-open @a repos into
* writable @a dumpstream. Begin at revision @a start_rev, and dump every
* revision up through @a end_rev. Use @a pool for all allocation. If
* non-@c NULL, send feedback to @a feedback_stream. If @a dumpstream is
* @c NULL, this is effectively a primitive verify. It is not complete,
* however; svn_repos_verify_fs2() and svn_fs_verify().
*
* If @a start_rev is #SVN_INVALID_REVNUM, then start dumping at revision
* 0. If @a end_rev is #SVN_INVALID_REVNUM, then dump through the @c HEAD
* revision.
*
* If @a incremental is @c TRUE, the first revision dumped will be a diff
* against the previous revision (usually it looks like a full dump of
* the tree).
*
* If @a use_deltas is @c TRUE, output only node properties which have
* changed relative to the previous contents, and output text contents
* as svndiff data against the previous contents. Regardless of how
* this flag is set, the first revision of a non-incremental dump will
* be done with full plain text. A dump with @a use_deltas set cannot
* be loaded by Subversion 1.0.x.
*
* If @a notify_func is not @c NULL, then for every dumped revision call
* @a notify_func with @a rev set to the dumped revision and @a warning_text
* @c NULL. For warnings call @a notify_func with @a warning_text.
*
* If @a cancel_func is not @c NULL, it is called periodically with
* @a cancel_baton as argument to see if the client wishes to cancel
* the dump.
*
* @since New in 1.7.
*/
svn_error_t *
svn_repos_dump_fs3(svn_repos_t *repos,
svn_stream_t *dumpstream,
svn_revnum_t start_rev,
svn_revnum_t end_rev,
svn_boolean_t incremental,
svn_boolean_t use_deltas,
svn_repos_notify_func_t notify_func,
void *notify_baton,
svn_cancel_func_t cancel_func,
void *cancel_baton,
apr_pool_t *scratch_pool);
/**
* Similar to svn_repos_dump_fs3(), but with a feedback_stream instead of
* handling feedback via the notify_func handler
*
* @since New in 1.1.
* @deprecated Provided for backward compatibility with the 1.6 API.
*/
SVN_DEPRECATED
svn_error_t *
svn_repos_dump_fs2(svn_repos_t *repos,
svn_stream_t *dumpstream,
svn_stream_t *feedback_stream,
svn_revnum_t start_rev,
svn_revnum_t end_rev,
svn_boolean_t incremental,
svn_boolean_t use_deltas,
svn_cancel_func_t cancel_func,
void *cancel_baton,
apr_pool_t *pool);
/**
* Similar to svn_repos_dump_fs2(), but with the @a use_deltas
* parameter always set to @c FALSE.
*
* @deprecated Provided for backward compatibility with the 1.0 API.
*/
SVN_DEPRECATED
svn_error_t *
( run in 0.376 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )