Subversion 1.6.16
Data Structures | Typedefs | Functions

Data structures and editor things for

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_tsvn_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_tsvn_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.

Detailed Description

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 Documentation

A node in the repository.


Function Documentation

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.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines