Alien-SVN

 view release on metacpan or  search on metacpan

src/subversion/subversion/include/svn_fs.h  view on Meta::CPAN

 * destroying @a pool.
 *
 * @note The lifetime of @a fs_config must not be shorter than @a
 * pool's. It's a good idea to allocate @a fs_config from @a pool or
 * one of its ancestors.
 *
 * Only one thread may operate on any given filesystem object at once.
 * Two threads may access the same filesystem simultaneously only if
 * they open separate filesystem objects.
 *
 * @note You probably don't want to use this directly.  Take a look at
 * svn_repos_open2() instead.
 *
 * @since New in 1.1.
 */
svn_error_t *
svn_fs_open(svn_fs_t **fs_p,
            const char *path,
            apr_hash_t *fs_config,
            apr_pool_t *pool);

/**
 * Upgrade the Subversion filesystem located in the directory @a path
 * to the latest version supported by this library.  Return
 * #SVN_ERR_FS_UNSUPPORTED_UPGRADE and make no changes to the
 * filesystem if the requested upgrade is not supported.  Use @a pool
 * for necessary allocations.
 *
 * @note You probably don't want to use this directly.  Take a look at
 * svn_repos_upgrade() instead.
 *
 * @since New in 1.5.
 */
svn_error_t *
svn_fs_upgrade(const char *path,
               apr_pool_t *pool);

/**
 * Callback function type for progress notification.
 *
 * @a revision is the number of the revision currently begin processed,
 * #SVN_INVALID_REVNUM if the current stage is not linked to any specific
 * revision. @a baton is the callback baton.
 *
 * @since New in 1.8.
 */
typedef void (*svn_fs_progress_notify_func_t)(svn_revnum_t revision,
                                              void *baton,
                                              apr_pool_t *pool);

/**
 * Return, in @a *fs_type, a string identifying the back-end type of
 * the Subversion filesystem located in @a path.  Allocate @a *fs_type
 * in @a pool.
 *
 * The string should be equal to one of the @c SVN_FS_TYPE_* defined
 * constants, unless the filesystem is a new back-end type added in
 * a later version of Subversion.
 *
 * In general, the type should make no difference in the filesystem's
 * semantics, but there are a few situations (such as backups) where
 * it might matter.
 *
 * @since New in 1.3.
 */
svn_error_t *
svn_fs_type(const char **fs_type,
            const char *path,
            apr_pool_t *pool);

/**
 * Return the path to @a fs's repository, allocated in @a pool.
 * @note This is just what was passed to svn_fs_create() or
 * svn_fs_open() -- might be absolute, might not.
 *
 * @since New in 1.1.
 */
const char *
svn_fs_path(svn_fs_t *fs,
            apr_pool_t *pool);

/**
 * Return a shallow copy of the configuration parameters used to open
 * @a fs, allocated in @a pool.  It may be @c NULL.  The contents of the
 * hash contents remains valid only for @a fs's lifetime.
 * 
 * @note This is just what was passed to svn_fs_create() or svn_fs_open().
 * You may not modify it.
 *
 * @since New in 1.8.
 */
apr_hash_t *
svn_fs_config(svn_fs_t *fs,
              apr_pool_t *pool);

/**
 * Delete the filesystem at @a path.
 *
 * @note: Deleting a filesystem that has an open svn_fs_t is not
 * supported.  Clear/destroy all pools used to create/open @a path.
 * See issue 4264.
 *
 * @since New in 1.1.
 */
svn_error_t *
svn_fs_delete_fs(const char *path,
                 apr_pool_t *pool);

/**
 * Copy a possibly live Subversion filesystem from @a src_path to
 * @a dest_path.  If @a clean is @c TRUE, perform cleanup on the
 * source filesystem as part of the copy operation; currently, this
 * means deleting copied, unused logfiles for a Berkeley DB source
 * filesystem.
 *
 * If @a incremental is TRUE, make an effort to avoid re-copying
 * information already present in the destination where possible.  If
 * incremental hotcopy is not implemented, raise
 * #SVN_ERR_UNSUPPORTED_FEATURE.
 *
 * Use @a scratch_pool for temporary allocations.



( run in 1.103 second using v1.01-cache-2.11-cpan-97f6503c9c8 )