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,
 
  152 typedef svn_error_t *(*svn_ra_get_client_string_func_t)(
void *baton,
 
  178   apr_hash_t *rev_props,
 
  181   apr_array_header_t *prop_diffs,
 
  246   apr_hash_t *rev_props,
 
  270   apr_hash_t *rev_props,
 
  284     void *tunnel_baton, 
const char *tunnel_name);
 
  300     void *close_baton, 
void *tunnel_baton);
 
  326     const char *tunnel_name, 
const char *user,
 
  327     const char *hostname, 
int port,
 
  383                            const char *lock_token,
 
  419                             const char *lock_token,
 
  453                            const char *lock_token,
 
  468                             const char *lock_token,
 
  541                                 void *callback_baton,
 
  634                                 void *callback_baton,
 
  735              const char **corrected_url,
 
  736              const char *repos_URL,
 
  739              void *callback_baton,
 
  752              const char *repos_URL,
 
  755              void *callback_baton,
 
  768              const char *repos_URL,
 
  770              void *callback_baton,
 
  782             const char *repos_URL,
 
  784             void *callback_baton,
 
  824                                     const char **rel_path,
 
  840                                  const char **rel_path,
 
  997                           apr_hash_t *revprop_table,
 
 1000                           apr_hash_t *lock_tokens,
 
 1018                           const char *log_msg,
 
 1021                           apr_hash_t *lock_tokens,
 
 1037                          const char *log_msg,
 
 1039                          void *callback_baton,
 
 1040                          apr_hash_t *lock_tokens,
 
 1106                 apr_hash_t **dirents,
 
 1111                 apr_uint32_t dirent_fields,
 
 1127                apr_hash_t **dirents,
 
 1163                      const apr_array_header_t *paths,
 
 1231                   void **report_baton,
 
 1233                   const char *update_target,
 
 1239                   apr_pool_t *result_pool,
 
 1240                   apr_pool_t *scratch_pool);
 
 1252                   void **report_baton,
 
 1254                   const char *update_target,
 
 1273                  void **report_baton,
 
 1275                  const char *update_target,
 
 1298                   void **report_baton,
 
 1300                   const char *switch_target,
 
 1302                   const char *switch_url,
 
 1307                   apr_pool_t *result_pool,
 
 1308                   apr_pool_t *scratch_pool);
 
 1321                   void **report_baton,
 
 1323                   const char *switch_target,
 
 1325                   const char *switch_url,
 
 1343                  void **report_baton,
 
 1345                  const char *switch_target,
 
 1347                  const char *switch_url,
 
 1396                   void **report_baton,
 
 1397                   const char *status_target,
 
 1418                  void **report_baton,
 
 1419                  const char *status_target,
 
 1486                 void **report_baton,
 
 1488                 const char *diff_target,
 
 1492                 const char *versus_url,
 
 1510                 void **report_baton,
 
 1512                 const char *diff_target,
 
 1516                 const char *versus_url,
 
 1531                void **report_baton,
 
 1533                const char *diff_target,
 
 1536                const char *versus_url,
 
 1601                 const apr_array_header_t *paths,
 
 1608                 const apr_array_header_t *revprops,
 
 1610                 void *receiver_baton,
 
 1625                const apr_array_header_t *paths,
 
 1632                void *receiver_baton,
 
 1732                      apr_hash_t **locations,
 
 1735                      const apr_array_header_t *location_revisions,
 
 1765                              void *receiver_baton,
 
 1814                       void *handler_baton,
 
 1831                      void *handler_baton,
 
 1868             apr_hash_t *path_revs,
 
 1869             const char *comment,
 
 1900               apr_hash_t *path_tokens,
 
 2076                            apr_array_header_t **inherited_props,
 
 2079                            apr_pool_t *result_pool,
 
 2080                            apr_pool_t *scratch_pool);
 
 2103                       const char *capability,
 
 2113 #define SVN_RA_CAPABILITY_DEPTH "depth" 
 2123 #define SVN_RA_CAPABILITY_MERGEINFO "mergeinfo" 
 2130 #define SVN_RA_CAPABILITY_LOG_REVPROPS "log-revprops" 
 2137 #define SVN_RA_CAPABILITY_PARTIAL_REPLAY "partial-replay" 
 2144 #define SVN_RA_CAPABILITY_COMMIT_REVPROPS "commit-revprops" 
 2152 #define SVN_RA_CAPABILITY_ATOMIC_REVPROPS "atomic-revprops" 
 2159 #define SVN_RA_CAPABILITY_INHERITED_PROPS "inherited-props" 
 2167 #define SVN_RA_CAPABILITY_EPHEMERAL_TXNPROPS "ephemeral-txnprops" 
 2175 #define SVN_RA_CAPABILITY_GET_FILE_REVS_REVERSE "get-file-revs-reversed" 
 2238                        const char *repos_URL,
 
 2240                        void *callback_baton,
 
 2292                                     const char *log_msg,
 
 2294                                     void *callback_baton,
 
 2314                           apr_hash_t **dirents,
 
 2324                             void **report_baton,
 
 2326                             const char *update_target,
 
 2337                             void **report_baton,
 
 2339                             const char *switch_target,
 
 2341                             const char *switch_url,
 
 2351                             void **report_baton,
 
 2352                             const char *status_target,
 
 2364                           void **report_baton,
 
 2366                           const char *diff_target,
 
 2369                           const char *versus_url,
 
 2378                           const apr_array_header_t *paths,
 
 2384                           void *receiver_baton,
 
 2417                                 apr_hash_t **locations,
 
 2420                                 apr_array_header_t *location_revisions,
 
 2434                                 void *handler_baton,
 
 2493 #define SVN_RA_ABI_VERSION      2 
void(* svn_ra_close_tunnel_func_t)(void *close_baton, void *tunnel_baton)
Callback function for closing a tunnel in ra_svn. 
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_open_tunnel_func_t)(svn_stream_t **request, svn_stream_t **response, svn_ra_close_tunnel_func_t *close_func, void **close_baton, void *tunnel_baton, const char *tunnel_name, const char *user, const char *hostname, int port, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Callback function for opening a tunnel in ra_svn. 
void * tunnel_baton
A baton used with open_tunnel_func and close_tunnel_func. 
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_boolean_t(* svn_ra_check_tunnel_func_t)(void *tunnel_baton, const char *tunnel_name)
Callback function that checks if an ra_svn tunnel called tunnel_name is handled by the callbakcs or t...
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...
svn_ra_check_tunnel_func_t check_tunnel_func
Check-tunnel callback. 
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_...
apr_hash_t * svn_mergeinfo_catalog_t
A hash mapping paths (const char *) to svn_mergeinfo_t. 
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_ra_open_tunnel_func_t open_tunnel_func
Open-tunnel callback. 
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.