#include <svn_ra.h>
Data Fields | |
const char * | name |
The proper name of the RA library, (like "ra_dav" or "ra_local"). | |
const char * | description |
Short doc string printed out by `svn --version`. | |
svn_error_t *(* | open )(void **session_baton, const char *repos_URL, const svn_ra_callbacks_t *callbacks, void *callback_baton, apr_hash_t *config, apr_pool_t *pool) |
Open a repository session to repos_url. | |
svn_error_t *(* | get_latest_revnum )(void *session_baton, svn_revnum_t *latest_revnum, apr_pool_t *pool) |
Get the latest revision number from the repository. | |
svn_error_t *(* | get_dated_revision )(void *session_baton, svn_revnum_t *revision, apr_time_t tm, apr_pool_t *pool) |
Get the latest revision number at time tm. | |
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) |
Set the property name to value on revision rev. | |
svn_error_t *(* | rev_proplist )(void *session_baton, svn_revnum_t rev, apr_hash_t **props, apr_pool_t *pool) |
Set *props to the list of unversioned properties attached to revision rev. | |
svn_error_t *(* | rev_prop )(void *session_baton, svn_revnum_t rev, const char *name, svn_string_t **value, apr_pool_t *pool) |
Set *value to the value of unversioned property name attached to revision rev. | |
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) |
Set *editor and *edit_baton to an editor for committing changes to the repository, using log_msg as the log message. | |
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) |
Fetch the contents and properties of file path at revision. | |
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) |
If dirents is non NULL , set *dirents to contain all the entries of directory path at revision. | |
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) |
Ask the network layer to update a working copy. | |
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) |
Ask the network layer to 'switch' a working copy to a new switch_url; it's another form of do_update() . | |
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) |
Ask the network layer to describe the status of a working copy with respect to revision of the repository (or HEAD, if revision is invalid). | |
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) |
Ask the network layer to 'diff' a working copy against versus_url; it's another form of do_update() . | |
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) |
Invoke receiver with receiver_baton on each log message from start to end. | |
svn_error_t *(* | check_path )(void *session_baton, const char *path, svn_revnum_t revision, svn_node_kind_t *kind, apr_pool_t *pool) |
Set *kind to node kind associated with path at revision. | |
svn_error_t *(* | get_uuid )(void *session_baton, const char **uuid, apr_pool_t *pool) |
Set *uuid to the repository's UUID. | |
svn_error_t *(* | get_repos_root )(void *session_baton, const char **url, apr_pool_t *pool) |
Set *url to the repository's root URL. |
A vtable structure which encapsulates all the functionality of a particular repository-access implementation.
Note: libsvn_client will keep an array of these objects, representing all RA libraries that it has simultaneously loaded into memory. Depending on the situation, the client can look through this array and find the appropriate implementation it needs.
Definition at line 262 of file svn_ra.h.
|
Set the property name to value on revision rev.
If value is Please note that properties attached to revisions are **unversioned**. Use pool for memory allocation. |
|
Set *kind to node kind associated with path at revision.
If path does not exist under revision, set *kind to Use pool for memory allocation. |
|
Ask the network layer to 'diff' a working copy against versus_url; it's another form of [Please note: this function cannot be used to diff a single file, only a working copy directory. See the do_switch() function for more details.]
The client initially provides a diff_editor/baton to the RA layer; this editor contains knowledge of where the common diff root is in the working copy (when In return, the client receives a reporter/report_baton. The client then describes its working-copy revision numbers by making calls into the reporter structure; the RA layer assumes that all paths are relative to the URL used to create session_baton.
When finished, the client calls reporter->finish_report(). The RA layer then does a complete drive of diff_editor, ending with diff_target is an optional single path component will restrict the scope of the diff to an entry in the directory represented by the session_baton's URL, or empty if the entire directory is meant to be one of the diff paths.
The working copy will be diffed against versus_url as it exists in revision revision, or as it is in head if revision is
Use ignore_ancestry to control whether or not items being diffed will be checked for relatedness first. Unrelated items are typically transmitted to the editor as a deletion of one thing and the addition of another, but if this flag is The caller may not perform any RA operations using session_baton before finishing the report, and may not perform any RA operations using session_baton from within the editing operations of diff_editor. Use pool for memory allocation. |
|
Ask the network layer to describe the status of a working copy with respect to revision of the repository (or HEAD, if revision is invalid).
The client initially provides an status_editor/baton to the RA layer; this editor contains knowledge of where the change will begin in the working copy (when In return, the client receives a reporter/report_baton. The client then describes its working-copy revision numbers by making calls into the reporter structure; the RA layer assumes that all paths are relative to the URL used to create session_baton.
When finished, the client calls reporter->finish_report(). The RA layer then does a complete drive of status_editor, ending with The caller may not perform any RA operations using session_baton before finishing the report, and may not perform any RA operations using session_baton from within the editing operations of status_editor. Use pool for memory allocation. |
|
Ask the network layer to 'switch' a working copy to a new switch_url; it's another form of
The client initially provides an switch_editor/baton to the RA layer; this editor contains knowledge of where the change will begin in the working copy (when In return, the client receives a reporter/report_baton. The client then describes its working-copy revision numbers by making calls into the reporter structure; the RA layer assumes that all paths are relative to the URL used to create session_baton.
When finished, the client calls reporter->finish_report(). The RA layer then does a complete drive of switch_editor, ending with switch_target is an optional single path component will restrict the scope of things affected by the switch to an entry in the directory represented by the session_baton's URL, or empty if the entire directory is meant to be switched. The working copy will be switched to revision_to_switch_to, or the "latest" revision if this arg is invalid. The caller may not perform any RA operations using session_baton before finishing the report, and may not perform any RA operations using session_baton from within the editing operations of switch_editor. Use pool for memory allocation. |
|
Ask the network layer to update a working copy.
The client initially provides an update_editor/baton to the RA layer; this editor contains knowledge of where the change will begin in the working copy (when In return, the client receives a reporter/report_baton. The client then describes its working-copy revision numbers by making calls into the reporter structure; the RA layer assumes that all paths are relative to the URL used to create session_baton.
When finished, the client calls reporter->finish_report(). The RA layer then does a complete drive of update_editor, ending with update_target is an optional single path component will restrict the scope of things affected by the update to an entry in the directory represented by the session_baton's URL, or empty if the entire directory is meant to be updated. The working copy will be updated to revision_to_update_to, or the "latest" revision if this arg is invalid. The caller may not perform any RA operations using session_baton before finishing the report, and may not perform any RA operations using session_baton from within the editing operations of update_editor. Use pool for memory allocation. |
|
Set *editor and *edit_baton to an editor for committing changes to the repository, using log_msg as the log message.
The revisions being committed against are passed to the editor functions, starting with the rev argument to
These three functions all share
*
*
*
Any of these functions may be
Before The callback will not be called if the commit was a no-op (i.e. nothing was committed); The caller may not perform any RA operations using session_baton before finishing the edit. Use pool for memory allocation. |
|
Get the latest revision number at time tm. Use pool for memory allocation. |
|
If dirents is non
The keys of dirents will be entry names ( path is interpreted relative to the url in session_baton.
If revision is
If props is non |
|
Fetch the contents and properties of file path at revision. Interpret path relative to the url in session_baton. Use pool for all allocations.
If revision is
If stream is non
If props is non The stream handlers for stream may not perform any RA operations using session_baton. |
|
Get the latest revision number from the repository. This is useful for the `svn status' command. :) Use pool for memory allocation. |
|
Invoke receiver with receiver_baton on each log message from start to end. start may be greater or less than end; this just controls whether the log messages are processed in descending or ascending revision number order.
If start or end is
If paths is non-null and has one or more elements, then only show revisions in which at least one of paths was changed (i.e., if file, text or props changed; if dir, props changed or an entry was added or deleted). Each path is an
If discover_changed_paths, then each call to receiver passes a If strict_node_history is set, copy history will not be traversed (if any exists) when harvesting the revision logs for each path. If any invocation of receiver returns error, return that error immediately and without wrapping it.
If start or end is a non-existent revision, return the error
See also the documentation for The caller may not invoke any RA operations using session_baton from within receiver. Use pool for memory allocation. |
|
Set *url to the repository's root URL. The value will not include a trailing '/'. NOTE: the URL has the same lifetime as the session_baton. Use pool for temporary memory allocation. |
|
Set *uuid to the repository's UUID. NOTE: the UUID has the same lifetime as the session_baton. Use pool for temporary memory allocation. |
|
Open a repository session to repos_url. Return an opaque object representing this session in *session_baton, allocated in pool.
callbacks/callback_baton is a table of callbacks provided by the client; see
config is a hash mapping All RA requests require a session_baton; they will continue to use pool for memory allocation. |
|
Set *value to the value of unversioned property name attached to revision rev.
If rev has no property by that name, set *value to Use pool for memory allocation. |
|
Set *props to the list of unversioned properties attached to revision rev.
The hash maps ( Use pool for memory allocation. |