Data Structures | |
struct | svn_repos_parse_fns2_t |
| |
struct | svn_repos_parse_fns_t |
Defines | |
#define | SVN_REPOS_DUMPFILE_MAGIC_HEADER "SVN-fs-dump-format-version" |
#define | SVN_REPOS_DUMPFILE_FORMAT_VERSION 3 |
#define | SVN_REPOS_DUMPFILE_UUID "UUID" |
#define | SVN_REPOS_DUMPFILE_CONTENT_LENGTH "Content-length" |
#define | SVN_REPOS_DUMPFILE_REVISION_NUMBER "Revision-number" |
#define | SVN_REPOS_DUMPFILE_NODE_PATH "Node-path" |
#define | SVN_REPOS_DUMPFILE_NODE_KIND "Node-kind" |
#define | SVN_REPOS_DUMPFILE_NODE_ACTION "Node-action" |
#define | SVN_REPOS_DUMPFILE_NODE_COPYFROM_PATH "Node-copyfrom-path" |
#define | SVN_REPOS_DUMPFILE_NODE_COPYFROM_REV "Node-copyfrom-rev" |
#define | SVN_REPOS_DUMPFILE_TEXT_COPY_SOURCE_CHECKSUM "Text-copy-source-md5" |
#define | SVN_REPOS_DUMPFILE_TEXT_CONTENT_CHECKSUM "Text-content-md5" |
#define | SVN_REPOS_DUMPFILE_PROP_CONTENT_LENGTH "Prop-content-length" |
#define | SVN_REPOS_DUMPFILE_TEXT_CONTENT_LENGTH "Text-content-length" |
#define | SVN_REPOS_DUMPFILE_PROP_DELTA "Prop-delta" |
#define | SVN_REPOS_DUMPFILE_TEXT_DELTA "Text-delta" |
Typedefs | |
typedef svn_repos_parse_fns2_t | svn_repos_parser_fns2_t |
| |
typedef svn_repos_parse_fns_t | svn_repos_parser_fns_t |
Enumerations | |
enum | svn_node_action { svn_node_action_change, svn_node_action_add, svn_node_action_delete, svn_node_action_replace } |
The different "actions" attached to nodes in the dumpfile. | |
enum | svn_repos_load_uuid { svn_repos_load_uuid_default, svn_repos_load_uuid_ignore, svn_repos_load_uuid_force } |
The different policies for processing the UUID in the dumpfile. | |
Functions | |
svn_error_t * | svn_repos_dump_fs2 (svn_repos_t *repos, svn_stream_t *dumpstream, svn_stream_t *feedback_stream, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_boolean_t incremental, svn_boolean_t use_deltas, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
| |
svn_error_t * | svn_repos_dump_fs (svn_repos_t *repos, svn_stream_t *dumpstream, svn_stream_t *feedback_stream, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_boolean_t incremental, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
svn_error_t * | svn_repos_load_fs2 (svn_repos_t *repos, svn_stream_t *dumpstream, svn_stream_t *feedback_stream, enum svn_repos_load_uuid uuid_action, const char *parent_dir, svn_boolean_t use_pre_commit_hook, svn_boolean_t use_post_commit_hook, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
| |
svn_error_t * | svn_repos_load_fs (svn_repos_t *repos, svn_stream_t *dumpstream, svn_stream_t *feedback_stream, enum svn_repos_load_uuid uuid_action, const char *parent_dir, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
svn_error_t * | svn_repos_parse_dumpstream2 (svn_stream_t *stream, const svn_repos_parser_fns2_t *parse_fns, void *parse_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
| |
svn_error_t * | svn_repos_get_fs_build_parser2 (const svn_repos_parser_fns2_t **parser, void **parse_baton, svn_repos_t *repos, svn_boolean_t use_history, enum svn_repos_load_uuid uuid_action, svn_stream_t *outstream, const char *parent_dir, apr_pool_t *pool) |
| |
svn_error_t * | svn_repos_parse_dumpstream (svn_stream_t *stream, const svn_repos_parser_fns_t *parse_fns, void *parse_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool) |
svn_error_t * | svn_repos_get_fs_build_parser (const svn_repos_parser_fns_t **parser, void **parse_baton, svn_repos_t *repos, svn_boolean_t use_history, enum svn_repos_load_uuid uuid_action, svn_stream_t *outstream, const char *parent_dir, apr_pool_t *pool) |
Thus the dump/load feature's main purpose is for *migrating* data from one svn filesystem to another -- presumably two filesystems which have different internal implementations.
If you simply want to backup your filesystem, you're probably better off using the built-in facilities of the DB backend (using Berkeley DB's hot-backup feature, for example.)
For a description of the dumpfile format, see /trunk/notes/fs_dumprestore.txt.
|
A vtable that is driven by |
|
svn_repos_parse_dumpstream . Lacks the delete_node_property and apply_textdelta callbacks. |
|
svn_repos_dump_fs2 , but with the use_deltas parameter always set to FALSE . |
|
Dump the contents of the filesystem within already-open repos into writable dumpstream. Begin at revision start_rev, and dump every revision up through end_rev. Use pool for all allocation. If non-
If start_rev is
If incremental is
If use_deltas is
If cancel_func is not |
|
svn_repos_get_fs_build_parser2 , but yields the more limited svn_repos_parser_fns_t vtable type. |
|
Set *parser and *parse_baton to a vtable parser which commits new revisions to the fs in repos. The constructed parser will treat UUID records in a manner consistent with uuid_action. Use pool to operate on the fs. If use_history is set, then the parser will require relative 'copyfrom' history to exist in the repository when it encounters nodes that are added-with-history. If parent_dir is not null, then the parser will reparent all the loaded nodes, from root to parent_dir. The directory parent_dir must be an existing directory in the repository.
Print all parsing feedback to outstream (if non- |
|
svn_repos_load_fs2 , but with use_pre_commit_hook and use_post_commit_hook always FALSE . |
|
Read and parse dumpfile-formatted dumpstream, reconstructing filesystem revisions in already-open repos, handling uuids in accordance with uuid_action.
Read and parse dumpfile-formatted dumpstream, reconstructing filesystem revisions in already-open repos. Use pool for all allocation. If non- If the dumpstream contains copy history that is unavailable in the repository, an error will be thrown.
The repository's UUID will be updated iff the dumpstream contains a UUID and uuid_action is not equal to If the dumpstream contains no UUID, then uuid_action is ignored and the repository UUID is not touched. If parent_dir is not null, then the parser will reparent all the loaded nodes, from root to parent_dir. The directory parent_dir must be an existing directory in the repository. If use_pre_commit_hook is set, call the repository's pre-commit hook before committing each loaded revision. If use_post_commit_hook is set, call the repository's post-commit hook after committing each loaded revision.
If cancel_func is not |
|
svn_repos_parse_dumpstream2 , but uses the more limited svn_repos_parser_fns_t vtable type. |
|
Read and parse dumpfile-formatted stream, calling callbacks in parse_fns/parse_baton, and using pool for allocations.
If cancel_func is not This parser has built-in knowledge of the dumpfile format, but only in a general sense: * it recognizes revision and node records by looking for either a REVISION_NUMBER or NODE_PATH headers. * it recognizes the CONTENT-LENGTH headers, so it knows if and how to suck up the content body. * it knows how to parse a content body into two parts: props and text, and pass the pieces to the vtable. This is enough knowledge to make it easy on vtable implementors, but still allow expansion of the format: most headers are ignored. |