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

📄 svn_ra.h

📁 subversion-1.4.3-1.tar.gz 配置svn的源码
💻 H
📖 第 1 页 / 共 5 页
字号:
 * @c RA->open().   * * Each routine takes a @a callback_baton originally provided with the * vtable. * * Clients must use svn_ra_create_callbacks() to allocate and * initialize this structure. * * @since New in 1.3. */typedef struct svn_ra_callbacks2_t{  /** Open a unique temporary file for writing in the working copy.   * This file will be automatically deleted when @a fp is closed.   */  svn_error_t *(*open_tmp_file)(apr_file_t **fp,                                void *callback_baton,                                apr_pool_t *pool);  /** An authentication baton, created by the application, which is   * capable of retrieving all known types of credentials.   */  svn_auth_baton_t *auth_baton;  /*** The following items may be set to NULL to disallow the RA layer       to perform the respective operations of the vtable functions.       Perhaps WC props are not defined or are in invalid for this       session, or perhaps the commit operation this RA session will       perform is a server-side only one that shouldn't do post-commit       processing on a working copy path.  ***/  /** Fetch working copy properties.   *   *<pre> ### we might have a problem if the RA layer ever wants a property   * ### that corresponds to a different revision of the file than   * ### what is in the WC. we'll cross that bridge one day...</pre>   */  svn_ra_get_wc_prop_func_t get_wc_prop;  /** Immediately set new values for working copy properties. */  svn_ra_set_wc_prop_func_t set_wc_prop;  /** Schedule new values for working copy properties. */  svn_ra_push_wc_prop_func_t push_wc_prop;  /** Invalidate working copy properties. */  svn_ra_invalidate_wc_props_func_t invalidate_wc_props;  /** Notification callback used for progress information.   * May be NULL if not used.   */  svn_ra_progress_notify_func_t progress_func;  /** Notification callback baton, used with progress_func. */  void *progress_baton;} svn_ra_callbacks2_t;/** Similar to svn_ra_callbacks2_t, except that the progress * notification function and baton is missing. * * @deprecated Provided for backward compatibility with the 1.2 API. */typedef struct svn_ra_callbacks_t{  svn_error_t *(*open_tmp_file)(apr_file_t **fp,                                void *callback_baton,                                apr_pool_t *pool);    svn_auth_baton_t *auth_baton;  svn_ra_get_wc_prop_func_t get_wc_prop;  svn_ra_set_wc_prop_func_t set_wc_prop;  svn_ra_push_wc_prop_func_t push_wc_prop;  svn_ra_invalidate_wc_props_func_t invalidate_wc_props;} svn_ra_callbacks_t;/*----------------------------------------------------------------------*//* Public Interfaces. *//** * Initialize the RA library.  This function must be called before using * any function in this header, except the deprecated APIs based on * @c svn_ra_plugin_t, or svn_ra_version().  This function must not be called * simultaneously in multiple threads.  @a pool must live * longer than any open RA sessions. * * @since New in 1.2. */svn_error_t *svn_ra_initialize(apr_pool_t *pool);/** Initialize a callback structure.* Set @a *callbacks to a ra callbacks object, allocated in @a pool.** Clients must use this function to allocate and initialize @c* svn_ra_callbacks2_t structures.** @since New in 1.3.*/svn_error_t *svn_ra_create_callbacks(svn_ra_callbacks2_t **callbacks,                        apr_pool_t *pool);/** * A repository access session.  This object is used to perform requests * to a repository, identified by an URL. * * @since New in 1.2. */typedef struct svn_ra_session_t svn_ra_session_t;/** * Open a repository session to @a repos_URL.  Return an opaque object * representing this session in @a *session_p, allocated in @a pool. * * @a callbacks/@a callback_baton is a table of callbacks provided by the * client; see @c svn_ra_callbacks2_t. * * @a config is a hash mapping <tt>const char *</tt> keys to  * @c svn_config_t * values.  For example, the @c svn_config_t for the  * "~/.subversion/config" file is under the key "config". * * All RA requests require a session; they will continue to * use @a pool for memory allocation. * * @see svn_client_open_ra_session(). * * @since New in 1.3. */svn_error_t *svn_ra_open2(svn_ra_session_t **session_p,                          const char *repos_URL,                          const svn_ra_callbacks2_t *callbacks,                          void *callback_baton,                          apr_hash_t *config,                          apr_pool_t *pool);/** * @see svn_ra_open2(). * @since New in 1.2. * @deprecated Provided for backward compatibility with the 1.2 API. */svn_error_t *svn_ra_open(svn_ra_session_t **session_p,                         const char *repos_URL,                         const svn_ra_callbacks_t *callbacks,                         void *callback_baton,                         apr_hash_t *config,                         apr_pool_t *pool);/** Change the root URL of an open @a ra_session to point to a new path in the * same repository.  @a url is the new root URL.  Use @a pool for * temporary allocations. * * If @a url has a different repository root than the current session * URL, return @c SVN_ERR_RA_ILLEGAL_URL. * * @since New in 1.4. */svn_error_t *svn_ra_reparent(svn_ra_session_t *ra_session,                             const char *url,                             apr_pool_t *pool);/** * Get the latest revision number from the repository of @a session. * * Use @a pool for memory allocation. * * @since New in 1.2. */svn_error_t *svn_ra_get_latest_revnum(svn_ra_session_t *session,                                      svn_revnum_t *latest_revnum,                                      apr_pool_t *pool);/** * Get the latest revision number at time @a tm in the repository of * @a session. * * Use @a pool for memory allocation. * * @since New in 1.2. */svn_error_t *svn_ra_get_dated_revision(svn_ra_session_t *session,                                       svn_revnum_t *revision,                                       apr_time_t tm,                                       apr_pool_t *pool);/** * Set the property @a name to @a value on revision @a rev in the repository * of @a session. * * If @a value is @c NULL, delete the named revision property. * * Please note that properties attached to revisions are @em unversioned. * * Use @a pool for memory allocation. * * @since New in 1.2. */svn_error_t *svn_ra_change_rev_prop(svn_ra_session_t *session,                                    svn_revnum_t rev,                                    const char *name,                                    const svn_string_t *value,                                    apr_pool_t *pool);/** * Set @a *props to the list of unversioned properties attached to revision * @a rev in the repository of @a session.  The hash maps * (<tt>const char *</tt>) names to (<tt>@c svn_string_t *</tt>) values. * * Use @a pool for memory allocation. * * @since New in 1.2. */svn_error_t *svn_ra_rev_proplist(svn_ra_session_t *session,                                 svn_revnum_t rev,                                 apr_hash_t **props,                                 apr_pool_t *pool);/** * Set @a *value to the value of unversioned property @a name attached to * revision @a rev in the repository of @a session.  If @a rev has no * property by that name, set @a *value to @c NULL. * * Use @a pool for memory allocation. * * @since New in 1.2. */svn_error_t *svn_ra_rev_prop(svn_ra_session_t *session,                             svn_revnum_t rev,                             const char *name,                             svn_string_t **value,                             apr_pool_t *pool);/** * Set @a *editor and @a *edit_baton to an editor for committing changes * to the repository of @a session, using @a log_msg as the log message.  The * revisions being committed against are passed to the editor * functions, starting with the rev argument to @c open_root.  The path * root of the commit is in the @a session's URL. * * Before @c close_edit returns, but after the commit has succeeded, * it will invoke @a callback with the new revision number, the * commit date (as a <tt>const char *</tt>), commit author (as a * <tt>const char *</tt>), and @a callback_baton as arguments.  If * @a callback returns an error, that error will be returned from @c * close_edit, otherwise @c close_edit will return successfully * (unless it encountered an error before invoking @a callback). * * The callback will not be called if the commit was a no-op * (i.e. nothing was committed); * * @a lock_tokens, if non-NULL, is a hash mapping <tt>const char * *</tt> paths (relative to the URL of @a session_baton) to <tt> * const char *</tt> lock tokens.  The server checks that the * correct token is provided for each committed, locked path.  @a lock_tokens * must live during the whole commit operation. * * If @a keep_locks is @c TRUE, then do not release locks on * committed objects.  Else, automatically release such locks. * * The caller may not perform any RA operations using @a session before * finishing the edit. *  * Use @a pool for memory allocation. * * @since New in 1.4. */svn_error_t *svn_ra_get_commit_editor2(svn_ra_session_t *session,                                       const svn_delta_editor_t **editor,                                       void **edit_baton,                                       const char *log_msg,                                       svn_commit_callback2_t callback,                                       void *callback_baton,                                       apr_hash_t *lock_tokens,                                       svn_boolean_t keep_locks,                                       apr_pool_t *pool);/** * Same as svn_ra_get_commit_editor2(), but uses @c svn_commit_callback_t. * * @since New in 1.2. * * @deprecated Provided for backward compatibility with the 1.3 API. */ svn_error_t *svn_ra_get_commit_editor(svn_ra_session_t *session,                                      const svn_delta_editor_t **editor,                                      void **edit_baton,                                      const char *log_msg,                                      svn_commit_callback_t callback,                                      void *callback_baton,                                      apr_hash_t *lock_tokens,                                      svn_boolean_t keep_locks,                                      apr_pool_t *pool);/** * Fetch the contents and properties of file @a path at @a revision. * Interpret @a path relative to the URL in @a session.  Use * @a pool for all allocations. * * If @a revision is @c SVN_INVALID_REVNUM (meaning 'head') and * @a *fetched_rev is not @c NULL, then this function will set * @a *fetched_rev to the actual revision that was retrieved.  (Some * callers want to know, and some don't.)  * * If @a stream is non @c NULL, push the contents of the file at @a * stream, do not call svn_stream_close() when finished. * * If @a props is non @c NULL, set @a *props to contain the properties of  * the file.  This means @em all properties: not just ones controlled by * the user and stored in the repository fs, but non-tweakable ones * generated by the SCM system itself (e.g. 'wcprops', 'entryprops', * etc.)  The keys are <tt>const char *</tt>, values are  * <tt>@c svn_string_t *</tt>. *

⌨️ 快捷键说明

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