📄 svn_ra.h
字号:
const svn_ra_callbacks_t *callbacks, void *callback_baton, apr_hash_t *config, apr_pool_t *pool); /** Call svn_ra_get_latest_revnum() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*get_latest_revnum)(void *session_baton, svn_revnum_t *latest_revnum, apr_pool_t *pool); /** Call svn_ra_get_dated_revision() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*get_dated_revision)(void *session_baton, svn_revnum_t *revision, apr_time_t tm, apr_pool_t *pool); /** Call svn_ra_change_rev_prop() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*change_rev_prop)(void *session_baton, svn_revnum_t rev, const char *name, const svn_string_t *value, apr_pool_t *pool); /** Call svn_ra_rev_proplist() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*rev_proplist)(void *session_baton, svn_revnum_t rev, apr_hash_t **props, apr_pool_t *pool); /** Call svn_ra_rev_prop() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*rev_prop)(void *session_baton, svn_revnum_t rev, const char *name, svn_string_t **value, apr_pool_t *pool); /** Call svn_ra_get_commit_editor() with the session associated with * @a session_baton and all other arguments plus @a lock_tokens set to * @c NULL and @a keep_locks set to @c TRUE. */ svn_error_t *(*get_commit_editor)(void *session_baton, const svn_delta_editor_t **editor, void **edit_baton, const char *log_msg, svn_commit_callback_t callback, void *callback_baton, apr_pool_t *pool); /** Call svn_ra_get_file() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*get_file)(void *session_baton, const char *path, svn_revnum_t revision, svn_stream_t *stream, svn_revnum_t *fetched_rev, apr_hash_t **props, apr_pool_t *pool); /** Call svn_ra_get_dir() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*get_dir)(void *session_baton, const char *path, svn_revnum_t revision, apr_hash_t **dirents, svn_revnum_t *fetched_rev, apr_hash_t **props, apr_pool_t *pool); /** Call svn_ra_do_update() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*do_update)(void *session_baton, const svn_ra_reporter_t **reporter, void **report_baton, svn_revnum_t revision_to_update_to, const char *update_target, svn_boolean_t recurse, const svn_delta_editor_t *update_editor, void *update_baton, apr_pool_t *pool); /** Call svn_ra_do_switch() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*do_switch)(void *session_baton, const svn_ra_reporter_t **reporter, void **report_baton, svn_revnum_t revision_to_switch_to, const char *switch_target, svn_boolean_t recurse, const char *switch_url, const svn_delta_editor_t *switch_editor, void *switch_baton, apr_pool_t *pool); /** Call svn_ra_do_status() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*do_status)(void *session_baton, const svn_ra_reporter_t **reporter, void **report_baton, const char *status_target, svn_revnum_t revision, svn_boolean_t recurse, const svn_delta_editor_t *status_editor, void *status_baton, apr_pool_t *pool); /** Call svn_ra_do_diff() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*do_diff)(void *session_baton, const svn_ra_reporter_t **reporter, void **report_baton, svn_revnum_t revision, const char *diff_target, svn_boolean_t recurse, svn_boolean_t ignore_ancestry, const char *versus_url, const svn_delta_editor_t *diff_editor, void *diff_baton, apr_pool_t *pool); /** Call svn_ra_get_log() with the session associated with * @a session_baton and all other arguments. @a limit is set to 0. */ svn_error_t *(*get_log)(void *session_baton, const apr_array_header_t *paths, svn_revnum_t start, svn_revnum_t end, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_log_message_receiver_t receiver, void *receiver_baton, apr_pool_t *pool); /** Call svn_ra_check_path() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*check_path)(void *session_baton, const char *path, svn_revnum_t revision, svn_node_kind_t *kind, apr_pool_t *pool); /** Call svn_ra_get_uuid() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*get_uuid)(void *session_baton, const char **uuid, apr_pool_t *pool); /** Call svn_ra_get_repos_root() with the session associated with * @a session_baton and all other arguments. */ svn_error_t *(*get_repos_root)(void *session_baton, const char **url, apr_pool_t *pool); /** * Call svn_ra_get_locations() with the session associated with * @a session_baton and all other arguments. * * @since New in 1.1. */ svn_error_t *(*get_locations)(void *session_baton, apr_hash_t **locations, const char *path, svn_revnum_t peg_revision, apr_array_header_t *location_revisions, apr_pool_t *pool); /** * Call svn_ra_get_file_revs() with the session associated with * @a session_baton and all other arguments. * * @since New in 1.1. */ svn_error_t *(*get_file_revs)(void *session_baton, const char *path, svn_revnum_t start, svn_revnum_t end, svn_ra_file_rev_handler_t handler, void *handler_baton, apr_pool_t *pool); /** * Return the plugin's version information. * * @since New in 1.1. */ const svn_version_t *(*get_version)(void); } svn_ra_plugin_t;/** * All "ra_FOO" implementations *must* export a function named * svn_ra_FOO_init() of type @c svn_ra_init_func_t. * * When called by libsvn_client, this routine adds an entry (or * entries) to the hash table for any URL schemes it handles. The hash * value must be of type (<tt>@c svn_ra_plugin_t *</tt>). @a pool is a * pool for allocating configuration / one-time data. * * This type is defined to use the "C Calling Conventions" to ensure that * abi_version is the first parameter. The RA plugin must check that value * before accessing the other parameters. * * ### need to force this to be __cdecl on Windows... how?? * * @deprecated Provided for backward compatibility with the 1.1 API. */typedef svn_error_t *(*svn_ra_init_func_t)(int abi_version, apr_pool_t *pool, apr_hash_t *hash);/** * The current ABI (Application Binary Interface) version for the * RA plugin model. This version number will change when the ABI * between the SVN core (e.g. libsvn_client) and the RA plugin changes. * * An RA plugin should verify that the passed version number is acceptable * before accessing the rest of the parameters, and before returning any * information. * * It is entirely acceptable for an RA plugin to accept multiple ABI * versions. It can simply interpret the parameters based on the version, * and it can return different plugin structures. * * * <pre> * VSN DATE REASON FOR CHANGE * --- ---------- ------------------------------------------------ * 1 2001-02-17 Initial revision. * 2 2004-06-29 Preparing for svn 1.1, which adds new RA vtable funcs. * 2005-01-19 Rework the plugin interface and don't provide the vtable * to the client. Separate ABI versions are no longer used. * </pre> * * @deprecated Provided for backward compatibility with the 1.0 API. */#define SVN_RA_ABI_VERSION 2/* Public RA implementations. *//** Initialize libsvn_ra_dav. * * @deprecated Provided for backward compatibility with the 1.1 API. */svn_error_t * svn_ra_dav_init(int abi_version, apr_pool_t *pool, apr_hash_t *hash);/** Initialize libsvn_ra_local. * * @deprecated Provided for backward compatibility with the 1.1 API. */svn_error_t * svn_ra_local_init(int abi_version, apr_pool_t *pool, apr_hash_t *hash);/** Initialize libsvn_ra_svn. * * @deprecated Provided for backward compatibility with the 1.1 API. */svn_error_t * svn_ra_svn_init(int abi_version, apr_pool_t *pool, apr_hash_t *hash);/** Initialize libsvn_ra_serf. * * @since New in 1.4. * @deprecated Provided for backward compatibility with the 1.1 API. */svn_error_t * svn_ra_serf_init(int abi_version, apr_pool_t *pool, apr_hash_t *hash);/** * Initialize the compatibility wrapper, using @a pool for any allocations. * The caller must hold on to @a ra_baton as long as the RA library is used. * * @deprecated Provided for backward compatibility with the 1.1 API. */svn_error_t *svn_ra_init_ra_libs(void **ra_baton, apr_pool_t *pool);/** * Return an RA vtable-@a library which can handle URL. A number of * svn_client_* routines will call this internally, but client apps might * use it too. $a ra_baton is a baton obtained by a call to * svn_ra_init_ra_libs(). * * @deprecated Provided for backward compatibility with the 1.1 API. */svn_error_t *svn_ra_get_ra_library(svn_ra_plugin_t **library, void *ra_baton, const char *url, apr_pool_t *pool);#ifdef __cplusplus}#endif /* __cplusplus */#endif /* SVN_RA_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -