Subversion 1.6.16
|
repository inspection. More...
Data Structures | |
struct | svn_repos_node_t |
A node in the repository. More... | |
Typedefs | |
typedef struct svn_repos_node_t | svn_repos_node_t |
A node in the repository. | |
Functions | |
svn_error_t * | svn_repos_node_editor (const svn_delta_editor_t **editor, void **edit_baton, svn_repos_t *repos, svn_fs_root_t *base_root, svn_fs_root_t *root, apr_pool_t *node_pool, apr_pool_t *pool) |
Set *editor and *edit_baton to an editor that, when driven by svn_repos_dir_delta2(), builds an svn_repos_node_t * tree representing the delta from base_root to root in repos's filesystem. | |
svn_repos_node_t * | svn_repos_node_from_baton (void *edit_baton) |
Return the root node of the linked-list tree generated by driving the editor created by svn_repos_node_editor() with svn_repos_dir_delta2(), which is stored in edit_baton. |
repository inspection.
As it turns out, the svn_repos_dir_delta2() interface can be extremely useful for examining the repository, or more exactly, changes to the repository. svn_repos_dir_delta2() allows for differences between two trees to be described using an editor.
By using the editor obtained from svn_repos_node_editor() with svn_repos_dir_delta2(), the description of how to transform one tree into another can be used to build an in-memory linked-list tree, which each node representing a repository node that was changed as a result of having svn_repos_dir_delta2() drive that editor.
typedef struct svn_repos_node_t svn_repos_node_t |
A node in the repository.
svn_error_t* svn_repos_node_editor | ( | const svn_delta_editor_t ** | editor, |
void ** | edit_baton, | ||
svn_repos_t * | repos, | ||
svn_fs_root_t * | base_root, | ||
svn_fs_root_t * | root, | ||
apr_pool_t * | node_pool, | ||
apr_pool_t * | pool | ||
) |
Set *editor and *edit_baton to an editor that, when driven by svn_repos_dir_delta2(), builds an svn_repos_node_t *
tree representing the delta from base_root to root in repos's filesystem.
Invoke svn_repos_node_from_baton() on edit_baton to obtain the root node afterwards.
Note that the delta includes "bubbled-up" directories; that is, many of the directory nodes will have no prop_mods.
Allocate the tree and its contents in node_pool; do all other allocation in pool.
svn_repos_node_t* svn_repos_node_from_baton | ( | void * | edit_baton | ) |
Return the root node of the linked-list tree generated by driving the editor created by svn_repos_node_editor() with svn_repos_dir_delta2(), which is stored in edit_baton.
This is only really useful if used *after* the editor drive is completed.