Subversion 1.6.16
|
Filesystem Nodes. More...
Typedefs | |
typedef struct svn_fs_id_t | svn_fs_id_t |
An object representing a node-id. | |
Functions | |
int | svn_fs_compare_ids (const svn_fs_id_t *a, const svn_fs_id_t *b) |
Return -1, 0, or 1 if node revisions a and b are unrelated, equivalent, or otherwise related (respectively). | |
svn_boolean_t | svn_fs_check_related (const svn_fs_id_t *id1, const svn_fs_id_t *id2) |
Return non-zero IFF the nodes associated with id1 and id2 are related, else return zero. | |
svn_fs_id_t * | svn_fs_parse_id (const char *data, apr_size_t len, apr_pool_t *pool) |
svn_string_t * | svn_fs_unparse_id (const svn_fs_id_t *id, apr_pool_t *pool) |
Return a Subversion string containing the unparsed form of the node or node revision id id. |
Filesystem Nodes.
In a Subversion filesystem, a `node' corresponds roughly to an `inode' in a Unix filesystem:
A `node revision' refers to a node's contents at a specific point in time. Changing a node's contents always creates a new revision of that node. Once created, a node revision's contents never change.
When we create a node, its initial contents are the initial revision of the node. As users make changes to the node over time, we create new revisions of that same node. When a user commits a change that deletes a file from the filesystem, we don't delete the node, or any revision of it --- those stick around to allow us to recreate prior revisions of the filesystem. Instead, we just remove the reference to the node from the directory.
typedef struct svn_fs_id_t svn_fs_id_t |
svn_fs_id_t* svn_fs_parse_id | ( | const char * | data, |
apr_size_t | len, | ||
apr_pool_t * | pool | ||
) |
svn_string_t* svn_fs_unparse_id | ( | const svn_fs_id_t * | id, |
apr_pool_t * | pool | ||
) |
Return a Subversion string containing the unparsed form of the node or node revision id id.
Allocate the string containing the unparsed form in pool.