31 #include <apr_pools.h>
33 #include <apr_tables.h>
35 #include <apr_file_io.h>
73 typedef svn_error_t *(*svn_ra_get_wc_prop_func_t)(
void *baton,
85 typedef svn_error_t *(*svn_ra_set_wc_prop_func_t)(
void *baton,
118 typedef svn_error_t *(*svn_ra_invalidate_wc_props_func_t)(
void *baton,
131 (*svn_ra_get_wc_contents_func_t)(
void *baton,
149 typedef svn_error_t *(*svn_ra_get_client_string_func_t)(
void *baton,
175 apr_hash_t *rev_props,
178 apr_array_header_t *prop_diffs,
243 apr_hash_t *rev_props,
267 apr_hash_t *rev_props,
322 const char *lock_token,
358 const char *lock_token,
392 const char *lock_token,
407 const char *lock_token,
480 void *callback_baton,
548 void *callback_baton,
649 const char **corrected_url,
650 const char *repos_URL,
653 void *callback_baton,
666 const char *repos_URL,
669 void *callback_baton,
682 const char *repos_URL,
684 void *callback_baton,
696 const char *repos_URL,
698 void *callback_baton,
738 const char **rel_path,
754 const char **rel_path,
907 apr_hash_t *revprop_table,
910 apr_hash_t *lock_tokens,
931 apr_hash_t *lock_tokens,
949 void *callback_baton,
950 apr_hash_t *lock_tokens,
1017 apr_hash_t **dirents,
1022 apr_uint32_t dirent_fields,
1038 apr_hash_t **dirents,
1073 svn_mergeinfo_catalog_t *catalog,
1074 const apr_array_header_t *paths,
1142 void **report_baton,
1144 const char *update_target,
1150 apr_pool_t *result_pool,
1151 apr_pool_t *scratch_pool);
1163 void **report_baton,
1165 const char *update_target,
1184 void **report_baton,
1186 const char *update_target,
1209 void **report_baton,
1211 const char *switch_target,
1213 const char *switch_url,
1218 apr_pool_t *result_pool,
1219 apr_pool_t *scratch_pool);
1232 void **report_baton,
1234 const char *switch_target,
1236 const char *switch_url,
1254 void **report_baton,
1256 const char *switch_target,
1258 const char *switch_url,
1307 void **report_baton,
1308 const char *status_target,
1329 void **report_baton,
1330 const char *status_target,
1397 void **report_baton,
1399 const char *diff_target,
1403 const char *versus_url,
1421 void **report_baton,
1423 const char *diff_target,
1427 const char *versus_url,
1442 void **report_baton,
1444 const char *diff_target,
1447 const char *versus_url,
1513 const apr_array_header_t *paths,
1520 const apr_array_header_t *revprops,
1522 void *receiver_baton,
1537 const apr_array_header_t *paths,
1544 void *receiver_baton,
1644 apr_hash_t **locations,
1647 const apr_array_header_t *location_revisions,
1677 void *receiver_baton,
1720 void *handler_baton,
1737 void *handler_baton,
1774 apr_hash_t *path_revs,
1775 const char *comment,
1806 apr_hash_t *path_tokens,
1978 apr_array_header_t **inherited_props,
1981 apr_pool_t *result_pool,
1982 apr_pool_t *scratch_pool);
2005 const char *capability,
2015 #define SVN_RA_CAPABILITY_DEPTH "depth"
2025 #define SVN_RA_CAPABILITY_MERGEINFO "mergeinfo"
2032 #define SVN_RA_CAPABILITY_LOG_REVPROPS "log-revprops"
2039 #define SVN_RA_CAPABILITY_PARTIAL_REPLAY "partial-replay"
2046 #define SVN_RA_CAPABILITY_COMMIT_REVPROPS "commit-revprops"
2054 #define SVN_RA_CAPABILITY_ATOMIC_REVPROPS "atomic-revprops"
2061 #define SVN_RA_CAPABILITY_INHERITED_PROPS "inherited-props"
2069 #define SVN_RA_CAPABILITY_EPHEMERAL_TXNPROPS "ephemeral-txnprops"
2077 #define SVN_RA_CAPABILITY_GET_FILE_REVS_REVERSE "get-file-revs-reversed"
2140 const char *repos_URL,
2142 void *callback_baton,
2194 const char *log_msg,
2196 void *callback_baton,
2216 apr_hash_t **dirents,
2226 void **report_baton,
2228 const char *update_target,
2239 void **report_baton,
2241 const char *switch_target,
2243 const char *switch_url,
2253 void **report_baton,
2254 const char *status_target,
2266 void **report_baton,
2268 const char *diff_target,
2271 const char *versus_url,
2280 const apr_array_header_t *paths,
2286 void *receiver_baton,
2319 apr_hash_t **locations,
2322 apr_array_header_t *location_revisions,
2336 void *handler_baton,
2395 #define SVN_RA_ABI_VERSION 2
svn_error_t * svn_ra_get_log(svn_ra_session_t *session, const apr_array_header_t *paths, svn_revnum_t start, svn_revnum_t end, int limit, 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)
Similar to svn_ra_get_log2(), but uses svn_log_message_receiver_t instead of svn_log_entry_receiver_t...
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)
Similar to svn_ra_change_rev_prop2(), but with old_value_p set to NULL.
Counted-length strings for Subversion, plus some C string goodies.
svn_error_t * svn_ra_do_diff3(svn_ra_session_t *session, const svn_ra_reporter3_t **reporter, void **report_baton, svn_revnum_t revision, const char *diff_target, svn_depth_t depth, svn_boolean_t ignore_ancestry, svn_boolean_t text_deltas, const char *versus_url, const svn_delta_editor_t *diff_editor, void *diff_baton, apr_pool_t *pool)
Ask the RA layer to 'diff' a working copy against versus_url; it's another form of svn_ra_do_update2(...
svn_error_t * svn_ra_initialize(apr_pool_t *pool)
Initialize the RA library.
svn_error_t * svn_ra_init_ra_libs(void **ra_baton, apr_pool_t *pool)
Initialize the compatibility wrapper, using pool for any allocations.
svn_error_t * svn_ra_do_switch3(svn_ra_session_t *session, const svn_ra_reporter3_t **reporter, void **report_baton, svn_revnum_t revision_to_switch_to, const char *switch_target, svn_depth_t depth, const char *switch_url, svn_boolean_t send_copyfrom_args, svn_boolean_t ignore_ancestry, const svn_delta_editor_t *switch_editor, void *switch_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Ask the RA layer to switch a working copy to a new revision and URL.
svn_depth_t
The concept of depth for directories.
svn_error_t * svn_ra_get_uuid(svn_ra_session_t *session, const char **uuid, apr_pool_t *pool)
Similar to svn_ra_get_uuid2(), but returns the value allocated in session's pool. ...
svn_error_t *(* svn_ra_replay_revfinish_callback_t)(svn_revnum_t revision, void *replay_baton, const svn_delta_editor_t *editor, void *edit_baton, apr_hash_t *rev_props, apr_pool_t *pool)
Callback function type for replay_range actions.
svn_error_t * svn_ra_get_commit_editor3(svn_ra_session_t *session, const svn_delta_editor_t **editor, void **edit_baton, apr_hash_t *revprop_table, svn_commit_callback2_t commit_callback, void *commit_baton, apr_hash_t *lock_tokens, svn_boolean_t keep_locks, apr_pool_t *pool)
Set *editor and *edit_baton to an editor for committing changes to the repository of session...
svn_error_t *(* svn_ra_get_wc_prop_func_t)(void *baton, const char *path, const char *name, const svn_string_t **value, apr_pool_t *pool)
This is a function type which allows the RA layer to fetch working copy (WC) properties.
svn_error_t * svn_ra_get_file_revs(svn_ra_session_t *session, 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)
Similar to svn_ra_get_file_revs2(), but with include_merged_revisions set to FALSE.
svn_error_t * svn_ra_get_locks(svn_ra_session_t *session, apr_hash_t **locks, const char *path, apr_pool_t *pool)
Similar to svn_ra_get_locks2(), but with depth always passed as svn_depth_infinity.
void * progress_baton
Notification callback baton, used with progress_func.
svn_error_t * svn_ra_get_dir2(svn_ra_session_t *session, apr_hash_t **dirents, svn_revnum_t *fetched_rev, apr_hash_t **props, const char *path, svn_revnum_t revision, apr_uint32_t dirent_fields, apr_pool_t *pool)
If dirents is non NULL, set *dirents to contain all the entries of directory path at revision...
Similar to svn_ra_reporter2_t, but without support for lock tokens.
const char * description
Short doc string printed out by svn --version
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 commit_callback, void *commit_baton, apr_hash_t *lock_tokens, svn_boolean_t keep_locks, apr_pool_t *pool)
Same as svn_ra_get_commit_editor3(), but with revprop_table set to a hash containing the SVN_PROP_REV...
struct svn_ra_callbacks2_t svn_ra_callbacks2_t
A collection of callbacks implemented by libsvn_client which allows an RA layer to "pull" information...
svn_error_t * svn_ra_serf_init(int abi_version, apr_pool_t *pool, apr_hash_t *hash)
Initialize libsvn_ra_serf.
svn_error_t *(* svn_ra_file_rev_handler_t)(void *baton, const char *path, svn_revnum_t rev, apr_hash_t *rev_props, svn_txdelta_window_handler_t *delta_handler, void **delta_baton, apr_array_header_t *prop_diffs, apr_pool_t *pool)
A callback function type for use in get_file_revs.
struct svn_ra_reporter_t svn_ra_reporter_t
Similar to svn_ra_reporter2_t, but without support for lock tokens.
const char * name
The proper name of the RA library, (like "ra_serf" or "ra_local")
svn_error_t * svn_ra_get_lock(svn_ra_session_t *session, svn_lock_t **lock, const char *path, apr_pool_t *pool)
If path is locked, set *lock to an svn_lock_t which represents the lock, allocated in pool...
svn_error_t * svn_ra_do_switch(svn_ra_session_t *session, const svn_ra_reporter2_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)
Similar to svn_ra_do_switch2(), but taking svn_ra_reporter2_t instead of svn_ra_reporter3_t, and therefore only able to report svn_depth_infinity for depths.
svn_error_t * svn_ra_svn_init(int abi_version, apr_pool_t *pool, apr_hash_t *hash)
Initialize libsvn_ra_svn.
A structure full of callback functions the delta source will invoke as it produces the delta...
svn_error_t * svn_ra_do_diff(svn_ra_session_t *session, const svn_ra_reporter2_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)
Similar to svn_ra_do_diff2(), but with text_deltas set to TRUE.
svn_error_t * svn_ra_get_path_relative_to_session(svn_ra_session_t *ra_session, const char **rel_path, const char *url, apr_pool_t *pool)
Convert url into a path relative to the session URL of ra_session, setting *rel_path to that value...
svn_error_t * svn_ra_lock(svn_ra_session_t *session, apr_hash_t *path_revs, const char *comment, svn_boolean_t steal_lock, svn_ra_lock_callback_t lock_func, void *lock_baton, apr_pool_t *pool)
Lock each path in path_revs, which is a hash whose keys are the paths to be locked, and whose values are the corresponding base revisions for each path.
svn_ra_get_client_string_func_t get_client_string
Client string customization callback function.
svn_ra_set_wc_prop_func_t set_wc_prop
Immediately set new values for working copy properties.
svn_error_t *(* svn_ra_invalidate_wc_props_func_t)(void *baton, const char *path, const char *name, apr_pool_t *pool)
This is a function type which allows the RA layer to invalidate (i.e., remove) wcprops recursively...
svn_mergeinfo_inheritance_t
The three ways to request mergeinfo affecting a given path.
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)
svn_error_t * svn_ra_get_session_url(svn_ra_session_t *ra_session, const char **url, apr_pool_t *pool)
Set *url to the session URL – the URL to which ra_session was opened or most recently reparented...
svn_ra_get_wc_contents_func_t get_wc_contents
Working copy file content fetching function.
svn_error_t *(* svn_ra_get_client_string_func_t)(void *baton, const char **name, apr_pool_t *pool)
A function type which allows the RA layer to ask about any customizations to the client name string...
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)
Get the latest revision number at time tm in the repository of session.
A lock object, for client & server to share.
svn_error_t * svn_ra_do_update2(svn_ra_session_t *session, const svn_ra_reporter3_t **reporter, void **report_baton, svn_revnum_t revision_to_update_to, const char *update_target, svn_depth_t depth, svn_boolean_t send_copyfrom_args, const svn_delta_editor_t *update_editor, void *update_baton, apr_pool_t *pool)
Similar to svn_ra_do_update3(), but always ignoring ancestry.
Subversion's authentication system.
svn_node_kind_t
The various types of nodes in the Subversion filesystem.
svn_error_t * svn_ra_has_capability(svn_ra_session_t *session, svn_boolean_t *has, const char *capability, apr_pool_t *pool)
Set *has to TRUE if the server represented by session has capability (one of the capabilities beginni...
svn_error_t * svn_ra_get_file_revs2(svn_ra_session_t *session, const char *path, svn_revnum_t start, svn_revnum_t end, svn_boolean_t include_merged_revisions, svn_file_rev_handler_t handler, void *handler_baton, apr_pool_t *pool)
Retrieve a subset of the interesting revisions of a file path as seen in revision end (see svn_fs_his...
svn_error_t * svn_ra_local_init(int abi_version, apr_pool_t *pool, apr_hash_t *hash)
Initialize libsvn_ra_local.
svn_error_t * svn_ra_get_file(svn_ra_session_t *session, 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.
void(* svn_ra_progress_notify_func_t)(apr_off_t progress, apr_off_t total, void *baton, apr_pool_t *pool)
Callback function type for progress notification.
svn_error_t * svn_ra_get_log2(svn_ra_session_t *session, const apr_array_header_t *paths, svn_revnum_t start, svn_revnum_t end, int limit, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_boolean_t include_merged_revisions, const apr_array_header_t *revprops, svn_log_entry_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 * 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)
Similar to svn_ra_open3(), but with uuid set to NULL.
svn_cancel_func_t cancel_func
Cancellation function.
Similar to svn_ra_callbacks2_t, except that the progress notification function and baton is missing...
svn_error_t * svn_ra_do_update3(svn_ra_session_t *session, const svn_ra_reporter3_t **reporter, void **report_baton, svn_revnum_t revision_to_update_to, const char *update_target, svn_depth_t depth, svn_boolean_t send_copyfrom_args, svn_boolean_t ignore_ancestry, const svn_delta_editor_t *update_editor, void *update_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Ask the RA layer to update a working copy to a new revision.
svn_error_t * svn_ra_dav_init(int abi_version, apr_pool_t *pool, apr_hash_t *hash)
Initialize libsvn_ra_serf.
svn_error_t * svn_ra_stat(svn_ra_session_t *session, const char *path, svn_revnum_t revision, svn_dirent_t **dirent, apr_pool_t *pool)
Set *dirent to an svn_dirent_t associated with path at revision.
svn_error_t * svn_ra_replay_range(svn_ra_session_t *session, svn_revnum_t start_revision, svn_revnum_t end_revision, svn_revnum_t low_water_mark, svn_boolean_t send_deltas, svn_ra_replay_revstart_callback_t revstart_func, svn_ra_replay_revfinish_callback_t revfinish_func, void *replay_baton, apr_pool_t *pool)
Replay the changes from a range of revisions between start_revision and end_revision.
svn_error_t * svn_ra_get_repos_root(svn_ra_session_t *session, const char **url, apr_pool_t *pool)
Similar to svn_ra_get_repos_root2(), but returns the value allocated in session's pool...
svn_error_t *(* svn_ra_get_wc_contents_func_t)(void *baton, svn_stream_t **contents, const svn_checksum_t *checksum, apr_pool_t *pool)
This is a function type which allows the RA layer to fetch the cached pristine file contents whose ch...
svn_error_t * svn_ra_change_rev_prop2(svn_ra_session_t *session, svn_revnum_t rev, const char *name, const svn_string_t *const *old_value_p, const svn_string_t *value, apr_pool_t *pool)
Set the property name to value on revision rev in the repository of session.
svn_error_t * svn_ra_do_switch2(svn_ra_session_t *session, const svn_ra_reporter3_t **reporter, void **report_baton, svn_revnum_t revision_to_switch_to, const char *switch_target, svn_depth_t depth, const char *switch_url, const svn_delta_editor_t *switch_editor, void *switch_baton, apr_pool_t *pool)
Similar to svn_ra_do_switch3(), but always ignoring ancestry and never sending copyfrom_args.
svn_error_t *(* svn_location_segment_receiver_t)(svn_location_segment_t *segment, void *baton, apr_pool_t *pool)
A callback invoked by generators of svn_location_segment_t objects, used to report information about ...
svn_error_t * svn_ra_get_location_segments(svn_ra_session_t *session, const char *path, svn_revnum_t peg_revision, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_location_segment_receiver_t receiver, void *receiver_baton, apr_pool_t *pool)
Call receiver (with receiver_baton) for each segment in the location history of path in peg_revision...
A collection of callbacks implemented by libsvn_client which allows an RA layer to "pull" information...
svn_error_t * svn_ra_do_status(svn_ra_session_t *session, const svn_ra_reporter2_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)
Similar to svn_ra_do_status2(), but taking svn_ra_reporter2_t instead of svn_ra_reporter3_t, and therefore only able to report svn_depth_infinity for depths.
svn_error_t * svn_ra_check_path(svn_ra_session_t *session, const char *path, svn_revnum_t revision, svn_node_kind_t *kind, apr_pool_t *pool)
Set *kind to the node kind associated with path at revision.
svn_auth_baton_t * auth_baton
An authentication baton, created by the application, which is capable of retrieving all known types o...
svn_error_t * svn_ra_create_callbacks(svn_ra_callbacks2_t **callbacks, apr_pool_t *pool)
Initialize a callback structure.
svn_error_t * svn_ra_open3(svn_ra_session_t **session_p, const char *repos_URL, const char *uuid, const svn_ra_callbacks2_t *callbacks, void *callback_baton, apr_hash_t *config, apr_pool_t *pool)
Similar to svn_ra_open4(), but with corrected_url always passed as NULL.
svn_error_t * svn_ra_get_ra_library(svn_ra_plugin_t **library, void *ra_baton, const char *url, apr_pool_t *pool)
Return an RA vtable-library which can handle URL.
svn_error_t *(* svn_txdelta_window_handler_t)(svn_txdelta_window_t *window, void *baton)
A typedef for functions that consume a series of delta windows, for use in caller-pushes interfaces...
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 from the repository of session.
struct svn_stream_t svn_stream_t
An abstract stream of bytes–either incoming or outgoing or both.
svn_error_t *(* svn_ra_lock_callback_t)(void *baton, const char *path, svn_boolean_t do_lock, const svn_lock_t *lock, svn_error_t *ra_err, apr_pool_t *pool)
Callback function type for locking and unlocking actions.
Using this callback struct is similar to calling the newer public interface that is based on svn_ra_s...
Subversion's data types.
struct svn_auth_baton_t svn_auth_baton_t
The type of a Subversion authentication object.
struct svn_ra_callbacks_t svn_ra_callbacks_t
Similar to svn_ra_callbacks2_t, except that the progress notification function and baton is missing...
svn_error_t *(* svn_ra_set_wc_prop_func_t)(void *baton, const char *path, const char *name, const svn_string_t *value, apr_pool_t *pool)
This is a function type which allows the RA layer to store new working copy properties during update-...
A generic checksum representation.
svn_error_t * svn_ra_get_locks2(svn_ra_session_t *session, apr_hash_t **locks, const char *path, svn_depth_t depth, apr_pool_t *pool)
Set *locks to a hashtable which represents all locks on or below path.
svn_error_t *(* svn_ra_replay_revstart_callback_t)(svn_revnum_t revision, void *replay_baton, const svn_delta_editor_t **editor, void **edit_baton, apr_hash_t *rev_props, apr_pool_t *pool)
Callback function type for replay_range actions.
svn_error_t *(* svn_log_message_receiver_t)(void *baton, apr_hash_t *changed_paths, svn_revnum_t revision, const char *author, const char *date, const char *message, apr_pool_t *pool)
Similar to svn_log_entry_receiver_t, except this uses separate parameters for each part of the log en...
svn_error_t * svn_ra_get_dir(svn_ra_session_t *session, const char *path, svn_revnum_t revision, apr_hash_t **dirents, svn_revnum_t *fetched_rev, apr_hash_t **props, apr_pool_t *pool)
Similar to svn_ra_get_dir2, but with SVN_DIRENT_ALL for the dirent_fields parameter.
svn_ra_get_wc_prop_func_t get_wc_prop
Fetch working copy properties.
svn_error_t * svn_ra_do_diff2(svn_ra_session_t *session, const svn_ra_reporter2_t **reporter, void **report_baton, svn_revnum_t revision, const char *diff_target, svn_boolean_t recurse, svn_boolean_t ignore_ancestry, svn_boolean_t text_deltas, const char *versus_url, const svn_delta_editor_t *diff_editor, void *diff_baton, apr_pool_t *pool)
Similar to svn_ra_do_diff3(), but taking svn_ra_reporter2_t instead of svn_ra_reporter3_t, and therefore only able to report svn_depth_infinity for depths.
#define SVN_DEPRECATED
Macro used to mark deprecated functions.
svn_error_t * svn_ra_unlock(svn_ra_session_t *session, apr_hash_t *path_tokens, svn_boolean_t break_lock, svn_ra_lock_callback_t lock_func, void *lock_baton, apr_pool_t *pool)
Remove the repository lock for each path in path_tokens.
svn_error_t * svn_ra_get_path_relative_to_root(svn_ra_session_t *ra_session, const char **rel_path, const char *url, apr_pool_t *pool)
Convert url into a path relative to the repository root URL of the repository with which ra_session i...
svn_error_t * svn_ra_get_repos_root2(svn_ra_session_t *session, const char **url, apr_pool_t *pool)
Set *url to the repository's root URL, allocated in pool.
svn_error_t *(* svn_log_entry_receiver_t)(void *baton, svn_log_entry_t *log_entry, apr_pool_t *pool)
The callback invoked by log message loopers, such as svn_ra_plugin_t.get_log() and svn_repos_get_logs...
A general subversion directory entry.
svn_error_t * svn_ra_print_ra_libraries(svn_stringbuf_t **descriptions, void *ra_baton, apr_pool_t *pool)
Similar to svn_ra_print_modules().
struct svn_ra_session_t svn_ra_session_t
A repository access session.
svn_error_t *(* svn_cancel_func_t)(void *cancel_baton)
A user defined callback that subversion will call with a user defined baton to see if the current ope...
long int svn_revnum_t
About Special Files in Subversion.
svn_error_t *(* svn_file_rev_handler_t)(void *baton, const char *path, svn_revnum_t rev, apr_hash_t *rev_props, svn_boolean_t result_of_merge, svn_txdelta_window_handler_t *delta_handler, void **delta_baton, apr_array_header_t *prop_diffs, apr_pool_t *pool)
The callback invoked by file rev loopers, such as svn_ra_plugin_t.get_file_revs2() and svn_repos_get_...
struct svn_ra_reporter2_t svn_ra_reporter2_t
Similar to svn_ra_reporter3_t, but without support for depths.
svn_error_t * svn_ra_get_uuid2(svn_ra_session_t *session, const char **uuid, apr_pool_t *pool)
Set *uuid to the repository's UUID, allocated in pool.
struct svn_ra_plugin_t svn_ra_plugin_t
Using this callback struct is similar to calling the newer public interface that is based on svn_ra_s...
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 *props to the list of unversioned properties attached to revision rev in the repository of sessio...
svn_error_t * svn_ra_reparent(svn_ra_session_t *ra_session, const char *url, apr_pool_t *pool)
Change the root URL of an open ra_session to point to a new path in the same repository.
svn_error_t *(* svn_ra_push_wc_prop_func_t)(void *baton, const char *path, const char *name, const svn_string_t *value, apr_pool_t *pool)
This is a function type which allows the RA layer to store new working copy properties as part of a c...
svn_ra_push_wc_prop_func_t push_wc_prop
Schedule new values for working copy properties.
svn_error_t * svn_ra_open4(svn_ra_session_t **session_p, const char **corrected_url, const char *repos_URL, const char *uuid, const svn_ra_callbacks2_t *callbacks, void *callback_baton, apr_hash_t *config, apr_pool_t *pool)
Open a repository access session to the repository at repos_URL, or inform the caller regarding a cor...
const svn_version_t * svn_ra_version(void)
Get libsvn_ra version information.
svn_error_t *(* svn_commit_callback_t)(svn_revnum_t new_revision, const char *date, const char *author, void *baton)
Same as svn_commit_callback2_t, but uses individual data elements instead of the svn_commit_info_t st...
svn_error_t * svn_ra_do_status2(svn_ra_session_t *session, const svn_ra_reporter3_t **reporter, void **report_baton, const char *status_target, svn_revnum_t revision, svn_depth_t depth, const svn_delta_editor_t *status_editor, void *status_baton, apr_pool_t *pool)
Ask the RA layer to describe the status of a working copy with respect to revision of the repository ...
svn_error_t *(* svn_commit_callback2_t)(const svn_commit_info_t *commit_info, void *baton, apr_pool_t *pool)
Callback function type for commits.
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 *value to the value of unversioned property name attached to revision rev in the repository of se...
svn_error_t * svn_ra_get_inherited_props(svn_ra_session_t *session, apr_array_header_t **inherited_props, const char *path, svn_revnum_t revision, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Set *inherited_props to a depth-first ordered array of svn_prop_inherited_item_t * structures represe...
svn_ra_invalidate_wc_props_func_t invalidate_wc_props
Invalidate working copy properties.
int svn_boolean_t
YABT: Yet Another Boolean Type.
svn_error_t * svn_ra_do_update(svn_ra_session_t *session, const svn_ra_reporter2_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)
Similar to svn_ra_do_update2(), but taking svn_ra_reporter2_t instead of svn_ra_reporter3_t; if recur...
struct svn_ra_reporter3_t svn_ra_reporter3_t
The update Reporter.
svn_error_t * svn_ra_replay(svn_ra_session_t *session, svn_revnum_t revision, svn_revnum_t low_water_mark, svn_boolean_t send_deltas, const svn_delta_editor_t *editor, void *edit_baton, apr_pool_t *pool)
Replay the changes from revision through editor and edit_baton.
mergeinfo handling and processing
svn_error_t * svn_ra_get_mergeinfo(svn_ra_session_t *session, svn_mergeinfo_catalog_t *catalog, const apr_array_header_t *paths, svn_revnum_t revision, svn_mergeinfo_inheritance_t inherit, svn_boolean_t include_descendants, apr_pool_t *pool)
Set *catalog to a mergeinfo catalog for the paths in paths.
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)
Same as svn_ra_get_commit_editor2(), but uses svn_commit_callback_t.
svn_ra_progress_notify_func_t progress_func
Notification callback used for progress information.
svn_error_t * svn_ra_get_deleted_rev(svn_ra_session_t *session, const char *path, svn_revnum_t peg_revision, svn_revnum_t end_revision, svn_revnum_t *revision_deleted, apr_pool_t *pool)
Given path at revision peg_revision, set *revision_deleted to the revision path was first deleted...
A buffered string, capable of appending without an allocation and copy for each append.
svn_error_t * svn_ra_print_modules(svn_stringbuf_t *output, apr_pool_t *pool)
Append a textual list of all available RA modules to the stringbuf output.
svn_error_t * svn_ra_get_locations(svn_ra_session_t *session, apr_hash_t **locations, const char *path, svn_revnum_t peg_revision, const apr_array_header_t *location_revisions, apr_pool_t *pool)
Set *locations to the locations (at the repository revisions location_revisions) of the file identifi...
Similar to svn_ra_reporter3_t, but without support for depths.