⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svn_repos.h

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 H
📖 第 1 页 / 共 5 页
字号:
                                            authz_read_func,                                            void *authz_read_baton,                                            apr_pool_t *pool);/* ---------------------------------------------------------------*//* Prop-changing wrappers for libsvn_fs routines. *//* NOTE: svn_repos_fs_change_rev_prop() also exists, but is located   above with the hook-related functions. *//** Validating wrapper for svn_fs_change_node_prop() (which see for * argument descriptions). */svn_error_t *svn_repos_fs_change_node_prop(svn_fs_root_t *root,                                           const char *path,                                           const char *name,                                           const svn_string_t *value,                                           apr_pool_t *pool);/** Validating wrapper for svn_fs_change_txn_prop() (which see for * argument descriptions). */svn_error_t *svn_repos_fs_change_txn_prop(svn_fs_txn_t *txn,                                          const char *name,                                          const svn_string_t *value,                                          apr_pool_t *pool);/** @} *//* ---------------------------------------------------------------*//** * @defgroup svn_repos_inspection Data structures and editor things for  * repository inspection. * @{ * * As it turns out, the svn_repos_dir_delta() interface can be * extremely useful for examining the repository, or more exactly, * changes to the repository.  svn_repos_dir_delta() 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_delta(), 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_delta() drive that editor. *//** A node in the repository. */typedef struct svn_repos_node_t{  /** Node type (file, dir, etc.) */  svn_node_kind_t kind;  /** How this node entered the node tree: 'A'dd, 'D'elete, 'R'eplace */  char action;   /** Were there any textual mods? (files only) */  svn_boolean_t text_mod;  /** Where there any property mods? */  svn_boolean_t prop_mod;  /** The name of this node as it appears in its parent's entries list */  const char *name;  /** The filesystem revision where this was copied from (if any) */  svn_revnum_t copyfrom_rev;  /** The filesystem path where this was copied from (if any) */  const char *copyfrom_path;  /** Pointer to the next sibling of this node */  struct svn_repos_node_t *sibling;  /** Pointer to the first child of this node */  struct svn_repos_node_t *child;  /** Pointer to the parent of this node */  struct svn_repos_node_t *parent;} svn_repos_node_t;/** Set @a *editor and @a *edit_baton to an editor that, when driven by * svn_repos_dir_delta(), builds an <tt>svn_repos_node_t *</tt> tree * representing the delta from @a base_root to @a root in @a repos's  * filesystem. *   * Invoke svn_repos_node_from_baton() on @a 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 @a node_pool; do all other * allocation in @a pool. */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);/** Return the root node of the linked-list tree generated by driving * the editor created by svn_repos_node_editor() with * svn_repos_dir_delta(), which is stored in @a edit_baton.  This is  * only really useful if used *after* the editor drive is completed. */svn_repos_node_t *svn_repos_node_from_baton(void *edit_baton);/** @} *//* ---------------------------------------------------------------*//** * @defgroup svn_repos_dump_load Dumping and loading filesystem data * @{ * * The filesystem 'dump' format contains nothing but the abstract * structure of the filesystem -- independent of any internal node-id * schema or database back-end.  All of the data in the dumpfile is * acquired by public function calls into svn_fs.h.  Similarly, the * parser which reads the dumpfile is able to reconstruct the * filesystem using only public svn_fs.h routines. * * 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. *//* The RFC822-style headers in our dumpfile format. */#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"/* @since New in 1.1. */#define SVN_REPOS_DUMPFILE_PROP_DELTA                "Prop-delta"/* @since New in 1.1. */#define SVN_REPOS_DUMPFILE_TEXT_DELTA                "Text-delta"/** The different "actions" attached to nodes in the dumpfile. */enum svn_node_action{  svn_node_action_change,  svn_node_action_add,  svn_node_action_delete,  svn_node_action_replace};/** The different policies for processing the UUID in the dumpfile. */enum svn_repos_load_uuid{  svn_repos_load_uuid_default,  svn_repos_load_uuid_ignore,  svn_repos_load_uuid_force};/** * Dump the contents of the filesystem within already-open @a repos into * writable @a dumpstream.  Begin at revision @a start_rev, and dump every * revision up through @a end_rev.  Use @a pool for all allocation.  If * non-@c NULL, send feedback to @a feedback_stream. @a dumpstream can be * @c NULL for the purpose of verifying the repository. * * If @a start_rev is @c SVN_INVALID_REVNUM, then start dumping at revision  * 0.  If @a end_rev is @c SVN_INVALID_REVNUM, then dump through the @c HEAD  * revision. * * If @a incremental is @c TRUE, the first revision dumped will be a diff * against the previous revision (usually it looks like a full dump of * the tree). * * If @a use_deltas is @c TRUE, output only node properties which have * changed relative to the previous contents, and output text contents * as svndiff data against the previous contents.  Regardless of how * this flag is set, the first revision of a non-incremental dump will * be done with full plain text.  A dump with @a use_deltas set cannot * be loaded by Subversion 1.0.x. * * If @a cancel_func is not @c NULL, it is called periodically with * @a cancel_baton as argument to see if the client wishes to cancel * the dump. *  * @since New in 1.1. */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);/** * Similar to svn_repos_dump_fs2(), but with the @a use_deltas * parameter always set to @c FALSE. * * @deprecated Provided for backward compatibility with the 1.0 API. */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);/** * Read and parse dumpfile-formatted @a dumpstream, reconstructing * filesystem revisions in already-open @a repos, handling uuids * in accordance with @a uuid_action. * * Read and parse dumpfile-formatted @a dumpstream, reconstructing * filesystem revisions in already-open @a repos.  Use @a pool for all * allocation.  If non-@c NULL, send feedback to @a feedback_stream. * * 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 *   @a uuid_action is not equal to @c svn_repos_load_uuid_ignore and *   either the repository contains no revisions or *          @a uuid_action is equal to @c svn_repos_load_uuid_force. * * If the dumpstream contains no UUID, then @a uuid_action is * ignored and the repository UUID is not touched. * * If @a parent_dir is not null, then the parser will reparent all the * loaded nodes, from root to @a parent_dir.  The directory @a parent_dir * must be an existing directory in the repository. * * If @a use_pre_commit_hook is set, call the repository's pre-commit * hook before committing each loaded revision.   * * If @a use_post_commit_hook is set, call the repository's * post-commit hook after committing each loaded revision. * * If @a cancel_func is not @c NULL, it is called periodically with * @a cancel_baton as argument to see if the client wishes to cancel * the load. *  * @since New in 1.2. */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);/** * Similar to svn_repos_load_fs2(), but with @a use_pre_commit_hook and * @a use_post_commit_hook always @c FALSE. * * @deprecated Provided for backward compatibility with the 1.0 API. */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);/** * A vtable that is driven by svn_repos_parse_dumpstream2(). *  * @since New in 1.1. */typedef struct svn_repos_parse_fns2_t{  /** The parser has discovered a new revision record within the   * parsing session represented by @a parse_baton.  All the headers are   * placed in @a headers (allocated in @a pool), which maps <tt>const    * char *</tt> header-name ==> <tt>const char *</tt> header-value.     * The @a revision_baton received back (also allocated in @a pool)    * represents the revision.   */  svn_error

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -