Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/libsvn_fs_base/fs.h view on Meta::CPAN
/* Minimum format number that supports representation sharing. This
also brings in the support for storing SHA1 checksums. */
#define SVN_FS_BASE__MIN_REP_SHARING_FORMAT 4
/* Minimum format number that supports the 'miscellaneous' table */
#define SVN_FS_BASE__MIN_MISCELLANY_FORMAT 4
/* Minimum format number that supports forward deltas */
#define SVN_FS_BASE__MIN_FORWARD_DELTAS_FORMAT 4
/* Minimum format number that supports node-origins tracking */
#define SVN_FS_BASE__MIN_NODE_ORIGINS_FORMAT 3
/* Minimum format number that supports mergeinfo */
#define SVN_FS_BASE__MIN_MERGEINFO_FORMAT 3
/* Minimum format number that supports svndiff version 1. */
#define SVN_FS_BASE__MIN_SVNDIFF1_FORMAT 2
/* Return SVN_ERR_UNSUPPORTED_FEATURE if the version of filesystem FS does
not indicate support for FEATURE (which REQUIRES a newer version). */
svn_error_t *
svn_fs_base__test_required_feature_format(svn_fs_t *fs,
const char *feature,
int requires);
/*** Miscellany keys. ***/
/* Revision at which the repo started using forward deltas. */
#define SVN_FS_BASE__MISC_FORWARD_DELTA_UPGRADE "forward-delta-rev"
/*** The filesystem structure. ***/
typedef struct base_fs_data_t
{
/* A Berkeley DB environment for all the filesystem's databases.
This establishes the scope of the filesystem's transactions. */
bdb_env_baton_t *bdb;
/* The filesystem's various tables. See `structure' for details. */
DB *changes;
DB *copies;
DB *nodes;
DB *representations;
DB *revisions;
DB *strings;
DB *transactions;
DB *uuids;
DB *locks;
DB *lock_tokens;
DB *node_origins;
DB *miscellaneous;
DB *checksum_reps;
/* A boolean for tracking when we have a live Berkeley DB
transaction trail alive. */
svn_boolean_t in_txn_trail;
/* The format number of this FS. */
int format;
} base_fs_data_t;
/*** Filesystem Revision ***/
typedef struct revision_t
{
/* id of the transaction that was committed to create this
revision. */
const char *txn_id;
} revision_t;
/*** Transaction Kind ***/
typedef enum transaction_kind_t
{
transaction_kind_normal = 1, /* normal, uncommitted */
transaction_kind_committed, /* committed */
transaction_kind_dead /* uncommitted and dead */
} transaction_kind_t;
/*** Filesystem Transaction ***/
typedef struct transaction_t
{
/* kind of transaction. */
transaction_kind_t kind;
/* revision which this transaction was committed to create, or an
invalid revision number if this transaction was never committed. */
svn_revnum_t revision;
/* property list (const char * name, svn_string_t * value).
may be NULL if there are no properties. */
apr_hash_t *proplist;
/* node revision id of the root node. */
const svn_fs_id_t *root_id;
/* node revision id of the node which is the root of the revision
upon which this txn is base. (unfinished only) */
const svn_fs_id_t *base_id;
/* copies list (const char * copy_ids), or NULL if there have been
no copies in this transaction. */
apr_array_header_t *copies;
} transaction_t;
/*** Node-Revision ***/
typedef struct node_revision_t
{
/* node kind */
( run in 1.105 second using v1.01-cache-2.11-cpan-df04353d9ac )