|
Subversion
|
Go to the documentation of this file.
30 #include <apr_pools.h>
32 #include <apr_tables.h>
63 svn_node_action_change,
65 svn_node_action_delete,
66 svn_node_action_replace
376 apr_pool_t *scratch_pool);
394 apr_pool_t *scratch_pool);
404 apr_pool_t *result_pool);
442 apr_hash_t *fs_config,
443 apr_pool_t *result_pool,
444 apr_pool_t *scratch_pool);
455 apr_hash_t *fs_config,
482 const char *unused_1,
483 const char *unused_2,
485 apr_hash_t *fs_config,
544 void *start_callback_baton,
574 const char *capability,
596 apr_pool_t *result_pool,
597 apr_pool_t *scratch_pool);
605 #define SVN_REPOS_CAPABILITY_MERGEINFO "mergeinfo"
640 const apr_array_header_t *capabilities);
656 apr_pool_t *result_pool);
689 const char *dst_path,
696 apr_pool_t *scratch_pool);
708 const char *dst_path,
724 const char *dst_path,
807 void *start_callback_baton,
822 void *start_callback_baton,
841 typedef svn_error_t *(*svn_repos_freeze_func_t)(
void *baton, apr_pool_t *pool);
998 const char *hooks_env_path,
999 apr_pool_t *scratch_pool);
1098 const char *fs_base,
1100 const char *tgt_path,
1108 void *authz_read_baton,
1109 apr_size_t zero_copy_limit,
1124 const char *fs_base,
1126 const char *tgt_path,
1134 void *authz_read_baton,
1154 const char *username,
1156 const char *fs_base,
1158 const char *tgt_path,
1165 void *authz_read_baton,
1209 const char *lock_token,
1224 const char *lock_token,
1270 const char *link_path,
1274 const char *lock_token,
1287 const char *link_path,
1290 const char *lock_token,
1302 const char *link_path,
1426 const char *src_parent_dir,
1427 const char *src_entry,
1429 const char *tgt_path,
1433 void *authz_read_baton,
1450 const char *src_parent_dir,
1451 const char *src_entry,
1453 const char *tgt_path,
1457 void *authz_read_baton,
1499 const char *base_dir,
1505 void *authz_read_baton,
1583 const char *repos_url_decoded,
1584 const char *base_path,
1585 apr_hash_t *revprop_table,
1608 const char *repos_url,
1609 const char *base_path,
1611 const char *log_msg,
1632 const char *repos_url,
1633 const char *base_path,
1635 const char *log_msg,
1637 void *callback_baton,
1654 const char *repos_url,
1655 const char *base_path,
1657 const char *log_msg,
1659 void *callback_baton,
1674 const char *repos_url,
1675 const char *base_path,
1677 const char *log_msg,
1679 void *callback_baton,
1711 const char **committed_date,
1712 const char **last_author,
1745 typedef svn_error_t *(* svn_repos_dirent_receiver_t)(
const char *path,
1748 apr_pool_t *scratch_pool);
1783 const apr_array_header_t *patterns,
1787 void *authz_read_baton,
1789 void *receiver_baton,
1792 apr_pool_t *scratch_pool);
1854 void *history_baton,
1856 void *authz_read_baton,
1873 void *history_baton,
1902 apr_hash_t **locations,
1903 const char *fs_path,
1905 const apr_array_header_t *location_revisions,
1907 void *authz_read_baton,
1946 void *receiver_baton,
1948 void *authz_read_baton,
1991 apr_pool_t *result_pool);
2013 apr_pool_t *scratch_pool);
2087 apr_pool_t *result_pool);
2112 apr_pool_t *scratch_pool);
2183 const apr_array_header_t *paths,
2189 const apr_array_header_t *revprops,
2191 void *authz_read_baton,
2193 void *path_change_receiver_baton,
2195 void *revision_receiver_baton,
2196 apr_pool_t *scratch_pool);
2217 const apr_array_header_t *paths,
2224 const apr_array_header_t *revprops,
2226 void *authz_read_baton,
2228 void *receiver_baton,
2244 const apr_array_header_t *paths,
2251 void *authz_read_baton,
2253 void *receiver_baton,
2265 const apr_array_header_t *paths,
2271 void *authz_read_baton,
2273 void *receiver_baton,
2285 const apr_array_header_t *paths,
2291 void *receiver_baton,
2338 const apr_array_header_t *paths,
2343 void *authz_read_baton,
2345 void *receiver_baton,
2346 apr_pool_t *scratch_pool);
2360 const apr_array_header_t *paths,
2365 void *authz_read_baton,
2422 void *authz_read_baton,
2424 void *handler_baton,
2434 typedef svn_error_t *(*svn_repos_file_rev_handler_t)
2438 apr_hash_t *rev_props,
2441 apr_array_header_t *prop_diffs,
2458 void *authz_read_baton,
2460 void *handler_baton,
2523 apr_hash_t *revprop_table,
2541 const char *log_msg,
2604 apr_hash_t *lock_targets,
2605 const char *comment,
2607 apr_time_t expiration_date,
2611 apr_pool_t *result_pool,
2612 apr_pool_t *scratch_pool);
2623 const char *comment,
2625 apr_time_t expiration_date,
2663 apr_hash_t *unlock_targets,
2667 apr_pool_t *result_pool,
2668 apr_pool_t *scratch_pool);
2703 void *authz_read_baton,
2719 void *authz_read_baton,
2765 void *authz_read_baton,
2786 void *authz_read_baton,
2804 void *authz_read_baton,
2843 const char *propname,
2845 void *authz_read_baton,
2870 void *authz_read_baton,
2916 const char *propname,
2918 void *authz_read_baton,
2919 apr_pool_t *result_pool,
2920 apr_pool_t *scratch_pool);
2940 const apr_array_header_t *props,
3025 apr_pool_t *node_pool,
3054 apr_pool_t *result_pool,
3055 apr_pool_t *scratch_pool);
3085 #define SVN_REPOS_DUMPFILE_MAGIC_HEADER "SVN-fs-dump-format-version"
3086 #define SVN_REPOS_DUMPFILE_FORMAT_VERSION 3
3087 #define SVN_REPOS_DUMPFILE_FORMAT_VERSION_DELTAS 3
3088 #define SVN_REPOS_DUMPFILE_UUID "UUID"
3089 #define SVN_REPOS_DUMPFILE_CONTENT_LENGTH "Content-length"
3091 #define SVN_REPOS_DUMPFILE_REVISION_NUMBER "Revision-number"
3093 #define SVN_REPOS_DUMPFILE_NODE_PATH "Node-path"
3094 #define SVN_REPOS_DUMPFILE_NODE_KIND "Node-kind"
3095 #define SVN_REPOS_DUMPFILE_NODE_ACTION "Node-action"
3096 #define SVN_REPOS_DUMPFILE_NODE_COPYFROM_PATH "Node-copyfrom-path"
3097 #define SVN_REPOS_DUMPFILE_NODE_COPYFROM_REV "Node-copyfrom-rev"
3099 #define SVN_REPOS_DUMPFILE_TEXT_COPY_SOURCE_MD5 "Text-copy-source-md5"
3101 #define SVN_REPOS_DUMPFILE_TEXT_COPY_SOURCE_SHA1 "Text-copy-source-sha1"
3102 #define SVN_REPOS_DUMPFILE_TEXT_COPY_SOURCE_CHECKSUM \
3103 SVN_REPOS_DUMPFILE_TEXT_COPY_SOURCE_MD5
3105 #define SVN_REPOS_DUMPFILE_TEXT_CONTENT_MD5 "Text-content-md5"
3107 #define SVN_REPOS_DUMPFILE_TEXT_CONTENT_SHA1 "Text-content-sha1"
3108 #define SVN_REPOS_DUMPFILE_TEXT_CONTENT_CHECKSUM \
3109 SVN_REPOS_DUMPFILE_TEXT_CONTENT_MD5
3111 #define SVN_REPOS_DUMPFILE_PROP_CONTENT_LENGTH "Prop-content-length"
3112 #define SVN_REPOS_DUMPFILE_TEXT_CONTENT_LENGTH "Text-content-length"
3115 #define SVN_REPOS_DUMPFILE_PROP_DELTA "Prop-delta"
3117 #define SVN_REPOS_DUMPFILE_TEXT_DELTA "Text-delta"
3119 #define SVN_REPOS_DUMPFILE_TEXT_DELTA_BASE_MD5 "Text-delta-base-md5"
3121 #define SVN_REPOS_DUMPFILE_TEXT_DELTA_BASE_SHA1 "Text-delta-base-sha1"
3123 #define SVN_REPOS_DUMPFILE_TEXT_DELTA_BASE_CHECKSUM \
3124 SVN_REPOS_DUMPFILE_TEXT_DELTA_BASE_MD5
3157 apr_pool_t *scratch_pool);
3241 apr_pool_t *scratch_pool);
3260 apr_pool_t *scratch_pool);
3382 apr_pool_t *scratch_pool);
3490 const char *parent_dir,
3516 const char *parent_dir,
3540 const char *parent_dir,
3561 const char *parent_dir,
3585 const char *parent_dir,
3604 const char *parent_dir,
3664 apr_pool_t *scratch_pool);
3697 apr_hash_t *headers,
3708 apr_hash_t *headers,
3709 void *revision_baton,
3723 svn_error_t *(*delete_node_property)(
void *node_baton,
const char *name);
3751 void **handler_baton,
3887 const char *parent_dir,
3913 const char *parent_dir,
3939 const char *parent_dir,
3957 apr_hash_t *headers,
3966 apr_hash_t *headers,
3967 void *revision_baton,
3987 void **handler_baton,
4010 apr_hash_t *headers,
4019 apr_hash_t *headers,
4020 void *revision_baton,
4088 const char *parent_dir,
4109 const char *parent_dir,
4126 const char *parent_dir,
4160 apr_pool_t *scratch_pool);
4189 const char *groups_path,
4193 void *warning_baton,
4194 apr_pool_t *result_pool,
4195 apr_pool_t *scratch_pool);
4208 const char *groups_path,
4211 apr_pool_t *result_pool,
4212 apr_pool_t *scratch_pool);
4224 const char *groups_path,
4262 void *warning_baton,
4263 apr_pool_t *result_pool,
4264 apr_pool_t *scratch_pool);
4302 const char *repos_name,
4395 void *authz_read_baton,
svn_error_t *(* svn_repos_log_entry_receiver_t)(void *baton, svn_repos_log_entry_t *log_entry, apr_pool_t *scratch_pool)
The callback invoked by log message loopers, such as svn_repos_get_logs5().
svn_error_t * svn_repos_hooks_setenv(svn_repos_t *repos, const char *hooks_env_path, apr_pool_t *scratch_pool)
Specify that Subversion should consult the configuration file located at hooks_env_path to determine ...
svn_error_t * svn_repos_begin_report3(void **report_baton, svn_revnum_t revnum, svn_repos_t *repos, const char *fs_base, const char *target, const char *tgt_path, svn_boolean_t text_deltas, svn_depth_t depth, svn_boolean_t ignore_ancestry, svn_boolean_t send_copyfrom_args, const svn_delta_editor_t *editor, void *edit_baton, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_size_t zero_copy_limit, apr_pool_t *pool)
Construct and return a report_baton that will be passed to the other functions in this section to des...
svn_error_t * svn_repos_get_file_revs2(svn_repos_t *repos, const char *path, svn_revnum_t start, svn_revnum_t end, svn_boolean_t include_merged_revisions, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, svn_file_rev_handler_t handler, void *handler_baton, apr_pool_t *pool)
Retrieve a subset of the interesting revisions of a file path in repos as seen in revision end.
svn_error_t * svn_repos_get_fs_build_parser5(const svn_repos_parse_fns3_t **parser, void **parse_baton, svn_repos_t *repos, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_boolean_t use_history, svn_boolean_t validate_props, enum svn_repos_load_uuid uuid_action, const char *parent_dir, svn_boolean_t use_pre_commit_hook, svn_boolean_t use_post_commit_hook, svn_boolean_t ignore_dates, svn_repos_notify_func_t notify_func, void *notify_baton, apr_pool_t *pool)
Similar to svn_repos_get_fs_build_parser6(), but with the normalize_props parameter always set to FAL...
svn_error_t * svn_repos_authz_read4(svn_authz_t **authz_p, const char *path, const char *groups_path, svn_boolean_t must_exist, svn_repos_t *repos_hint, svn_repos_authz_warning_func_t warning_func, void *warning_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Read authz configuration data from path (a dirent, an absolute file url or a registry path) into *aut...
const char * svn_repos_post_lock_hook(svn_repos_t *repos, apr_pool_t *pool)
Return the path to repos's post-lock hook, allocated in pool.
@ svn_repos_notify_verify_end
All revisions have finished being verified.
@ svn_repos_notify_warning_found_old_reference
Referencing copy source data from a revision earlier than the first revision dumped.
svn_error_t * svn_repos_get_fs_build_parser3(const svn_repos_parse_fns2_t **parser, void **parse_baton, svn_repos_t *repos, svn_boolean_t use_history, svn_boolean_t validate_props, enum svn_repos_load_uuid uuid_action, const char *parent_dir, svn_repos_notify_func_t notify_func, void *notify_baton, apr_pool_t *pool)
Similar to svn_repos_get_fs_build_parser4(), but with start_rev and end_rev always passed as SVN_INVA...
svn_error_t * svn_repos_fs_revision_proplist(apr_hash_t **table_p, svn_repos_t *repos, svn_revnum_t rev, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
Set *table_p to the entire property list of revision rev in filesystem opened in repos,...
svn_error_t * svn_repos_node_location_segments(svn_repos_t *repos, 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, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
Call receiver and receiver_baton to report successive location segments in revisions between start_re...
@ svn_repos_notify_load_skipped_rev
A revision was skipped during loading.
@ svn_repos_notify_pack_shard_end_revprop
packing of the shard revprops has completed
svn_error_t * svn_repos_fs_revision_prop(svn_string_t **value_p, svn_repos_t *repos, svn_revnum_t rev, const char *propname, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
Set *value_p to the value of the property named propname on revision rev in the filesystem opened in ...
svn_error_t * svn_repos_load_fs3(svn_repos_t *repos, svn_stream_t *dumpstream, enum svn_repos_load_uuid uuid_action, const char *parent_dir, svn_boolean_t use_pre_commit_hook, svn_boolean_t use_post_commit_hook, svn_boolean_t validate_props, svn_repos_notify_func_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Similar to svn_repos_load_fs4(), but with start_rev and end_rev always passed as SVN_INVALID_REVNUM.
svn_error_t * svn_repos_link_path3(void *report_baton, const char *path, const char *link_path, svn_revnum_t revision, svn_depth_t depth, svn_boolean_t start_empty, const char *lock_token, apr_pool_t *pool)
Given a report_baton constructed by svn_repos_begin_report3(), record the presence of path in the cur...
svn_error_t * svn_repos_check_revision_access(svn_repos_revision_access_level_t *access_level, svn_repos_t *repos, svn_revnum_t revision, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
Set access to the access level granted for revision in repos, as determined by consulting the authz_r...
void(* svn_repos_notify_func_t)(void *baton, const svn_repos_notify_t *notify, apr_pool_t *scratch_pool)
Callback for providing notification from the repository.
const char * svn_repos_db_lockfile(svn_repos_t *repos, apr_pool_t *pool)
Return path to repos's db lockfile, allocated in pool.
svn_error_t * svn_repos_fs_unlock_many(svn_repos_t *repos, apr_hash_t *unlock_targets, svn_boolean_t break_lock, svn_fs_lock_callback_t lock_callback, void *lock_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Like svn_fs_unlock_many(), but invoke the repos's pre- and post-unlock hooks before and after the unl...
svn_error_t * svn_repos_stat(svn_dirent_t **dirent, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *dirent to an svn_dirent_t associated with path in root.
svn_error_t * svn_repos_replay2(svn_fs_root_t *root, const char *base_dir, svn_revnum_t low_water_mark, svn_boolean_t send_deltas, const svn_delta_editor_t *editor, void *edit_baton, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
Use the provided editor and edit_baton to describe the skeletal changes made in a particular filesyst...
svn_error_t * svn_repos_get_commit_editor3(const svn_delta_editor_t **editor, void **edit_baton, svn_repos_t *repos, svn_fs_txn_t *txn, const char *repos_url, const char *base_path, const char *user, const char *log_msg, svn_commit_callback_t callback, void *callback_baton, svn_repos_authz_callback_t authz_callback, void *authz_baton, apr_pool_t *pool)
Similar to svn_repos_get_commit_editor4(), but uses the svn_commit_callback_t type.
svn_error_t * svn_repos_verify_fs2(svn_repos_t *repos, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_repos_notify_func_t notify_func, void *notify_baton, svn_cancel_func_t cancel, void *cancel_baton, apr_pool_t *scratch_pool)
Like svn_repos_verify_fs3(), but with verify_callback and verify_baton set to NULL and with check_nor...
svn_error_t * svn_repos_recover3(const char *path, svn_boolean_t nonblocking, svn_error_t *(*start_callback)(void *baton), void *start_callback_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Similar to svn_repos_recover4(), but with start callback in place of the notify_func / baton.
svn_error_t * svn_repos_get_logs4(svn_repos_t *repos, 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_repos_authz_func_t authz_read_func, void *authz_read_baton, svn_log_entry_receiver_t receiver, void *receiver_baton, apr_pool_t *pool)
Similar to svn_repos_get_logs5 but using a svn_log_entry_receiver_t receiver to receive revision prop...
svn_repos_path_change_t * svn_repos_path_change_create(apr_pool_t *result_pool)
Return an svn_repos_path_change_t structure, allocated in result_pool, with all fields initialized to...
svn_error_t * svn_repos_fs_change_rev_prop(svn_repos_t *repos, svn_revnum_t rev, const char *author, const char *name, const svn_string_t *new_value, apr_pool_t *pool)
Similar to svn_repos_fs_change_rev_prop2(), but with the authz_read_func parameter always NULL.
svn_repos_path_change_t * svn_repos_path_change_dup(svn_repos_path_change_t *change, apr_pool_t *result_pool)
Return a deep copy of change, allocated in result_pool.
const char * svn_repos_lock_dir(svn_repos_t *repos, apr_pool_t *pool)
Return path to repos's lock directory, allocated in pool.
svn_error_t * svn_repos_fs_get_inherited_props(apr_array_header_t **inherited_props, svn_fs_root_t *root, const char *path, const char *propname, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Set *inherited_values to a depth-first ordered array of svn_prop_inherited_item_t * structures (the p...
@ svn_repos_notify_load_revprop_set
The revision properties got set.
const char * svn_repos_start_commit_hook(svn_repos_t *repos, apr_pool_t *pool)
Return the path to repos's start-commit hook, allocated in pool.
svn_error_t * svn_repos_upgrade2(const char *path, svn_boolean_t nonblocking, svn_repos_notify_func_t notify_func, void *notify_baton, apr_pool_t *pool)
Upgrade the Subversion repository (and its underlying versioned filesystem) located in the directory ...
svn_fs_t * svn_repos_fs(svn_repos_t *repos)
Return the filesystem associated with repository object repos.
@ svn_repos_notify_load_node_done
A node has finished loading.
A vtable that is driven by svn_repos_parse_dumpstream3().
const char * svn_repos_post_revprop_change_hook(svn_repos_t *repos, apr_pool_t *pool)
Return the path to repos's post-revprop-change hook, allocated in pool.
svn_error_t * svn_repos_history2(svn_fs_t *fs, const char *path, svn_repos_history_func_t history_func, void *history_baton, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, svn_revnum_t start, svn_revnum_t end, svn_boolean_t cross_copies, apr_pool_t *pool)
Call history_func (with history_baton) for each interesting history location in the lifetime of path ...
svn_repos_authz_access_t
An enum defining the kinds of access authz looks up.
@ svn_repos_notify_dump_end
All revisions have finished being dumped.
struct svn_repos_parse_fns2_t svn_repos_parse_fns2_t
A vtable that is driven by svn_repos_parse_dumpstream2().
Counted-length strings for Subversion, plus some C string goodies.
@ svn_repos_notify_pack_shard_start
packing of an FSFS shard has commenced
svn_error_t *(* svn_fs_pack_notify_t)(void *baton, apr_int64_t shard, svn_fs_pack_notify_action_t action, apr_pool_t *pool)
The type of a pack notification function.
svn_error_t *(* svn_repos_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)
Similar to svn_file_rev_handler_t, but without the result_of_merge parameter.
svn_revnum_t revision
The revision of the commit.
svn_error_t * svn_repos_authz_read2(svn_authz_t **authz_p, const char *path, const char *groups_path, svn_boolean_t must_exist, apr_pool_t *pool)
Similar to svn_repos_authz_read3(), but with repos_hint set to NULL.
@ svn_repos_notify_upgrade_start
Upgrade has started.
svn_error_t * svn_repos_set_path(void *report_baton, const char *path, svn_revnum_t revision, svn_boolean_t start_empty, apr_pool_t *pool)
Similar to svn_repos_set_path2(), but with lock_token set to NULL.
svn_error_t * svn_repos_parse_dumpstream3(svn_stream_t *stream, const svn_repos_parse_fns3_t *parse_fns, void *parse_baton, svn_boolean_t deltas_are_text, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Read and parse dumpfile-formatted stream, calling callbacks in parse_fns/parse_baton,...
svn_error_t * svn_repos_history(svn_fs_t *fs, const char *path, svn_repos_history_func_t history_func, void *history_baton, svn_revnum_t start, svn_revnum_t end, svn_boolean_t cross_copies, apr_pool_t *pool)
Similar to svn_repos_history2(), but with authz_read_func and authz_read_baton always set to NULL.
Interface to the Subversion filesystem.
svn_repos_revision_access_level_t
Revision Access Levels.
const char * svn_repos_path(svn_repos_t *repos, apr_pool_t *pool)
Return the top-level repository path allocated in pool.
@ svn_repos_notify_hotcopy_rev_range
A revision range was copied.
struct svn_repos_log_entry_t svn_repos_log_entry_t
A structure to represent all the information about a particular log entry.
svn_error_t * svn_repos_get_fs_build_parser(const svn_repos_parser_fns_t **parser, void **parse_baton, svn_repos_t *repos, svn_boolean_t use_history, enum svn_repos_load_uuid uuid_action, svn_stream_t *outstream, const char *parent_dir, apr_pool_t *pool)
Similar to svn_repos_get_fs_build_parser2(), but yields the more limited svn_repos_parser_fns_t vtabl...
svn_error_t * svn_repos_load_fs4(svn_repos_t *repos, svn_stream_t *dumpstream, svn_revnum_t start_rev, svn_revnum_t end_rev, enum svn_repos_load_uuid uuid_action, const char *parent_dir, svn_boolean_t use_pre_commit_hook, svn_boolean_t use_post_commit_hook, svn_boolean_t validate_props, svn_repos_notify_func_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Similar to svn_repos_load_fs5(), but with ignore_dates always passed as FALSE.
svn_error_t * svn_repos_hotcopy3(const char *src_path, const char *dst_path, svn_boolean_t clean_logs, svn_boolean_t incremental, svn_repos_notify_func_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *scratch_pool)
Make a hot copy of the Subversion repository found at src_path to dst_path.
A vtable that is driven by svn_repos_parse_dumpstream2().
svn_error_t * svn_repos_node_editor(const svn_delta_editor_t **editor, void **edit_baton, svn_repos_t *repos, svn_fs_root_t *base_root, svn_fs_root_t *root, apr_pool_t *node_pool, apr_pool_t *pool)
Set *editor and *edit_baton to an editor that, when driven by a driver such as svn_repos_replay2(),...
svn_error_t * svn_repos_fs_change_rev_prop3(svn_repos_t *repos, svn_revnum_t rev, const char *author, const char *name, const svn_string_t *new_value, svn_boolean_t use_pre_revprop_change_hook, svn_boolean_t use_post_revprop_change_hook, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
Similar to svn_repos_fs_change_rev_prop4(), but with old_value_p always set to NULL.
const char * svn_repos_post_commit_hook(svn_repos_t *repos, apr_pool_t *pool)
Return the path to repos's post-commit hook, allocated in pool.
svn_error_t * svn_repos_authz_read(svn_authz_t **authz_p, const char *file, svn_boolean_t must_exist, apr_pool_t *pool)
Similar to svn_repos_authz_read2(), but with groups_path and repos_root always passed as NULL.
const char * svn_repos_pre_commit_hook(svn_repos_t *repos, apr_pool_t *pool)
Return the path to repos's pre-commit hook, allocated in pool.
svn_error_t * svn_repos_fs_lock_many(svn_repos_t *repos, apr_hash_t *lock_targets, const char *comment, svn_boolean_t is_dav_comment, apr_time_t expiration_date, svn_boolean_t steal_lock, svn_fs_lock_callback_t lock_callback, void *lock_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Like svn_fs_lock_many(), but invoke the repos's pre- and post-lock hooks before and after the locking...
svn_error_t * svn_repos_freeze(const apr_array_header_t *paths, svn_repos_freeze_func_t freeze_func, void *freeze_baton, apr_pool_t *pool)
Take an exclusive lock on each of the repositories in paths to prevent commits and then while holding...
svn_node_kind_t kind
Node type (file, dir, etc.)
const svn_version_t * svn_repos_version(void)
Get libsvn_repos version information.
struct svn_repos_notify_t svn_repos_notify_t
Structure used by svn_repos_notify_func_t.
svn_boolean_t prop_mod
Where there any property mods?
@ svn_repos_notify_load_txn_committed
A revision has finished loading.
svn_error_t * svn_repos_recover4(const char *path, svn_boolean_t nonblocking, svn_repos_notify_func_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Run database recovery procedures on the repository at path, returning the database to a consistent st...
Structure used by svn_repos_notify_func_t.
@ svn_repos_notify_warning_found_old_mergeinfo
An SVN_PROP_MERGEINFO property's encoded mergeinfo references a revision earlier than the first revis...
@ svn_repos_revision_access_none
no access allowed to the revision properties and all changed-paths information.
@ svn_repos_notify_warning_mergeinfo_collision
Detected a mergeinfo path collision.
svn_boolean_t has_children
Whether or not this message has children.
@ svn_repos_notify_load_copied_node
A copied node has been encountered.
svn_error_t * svn_repos_delete(const char *path, apr_pool_t *pool)
Destroy the Subversion repository found at path, using pool for any necessary allocations.
svn_error_t * svn_repos_dated_revision(svn_revnum_t *revision, svn_repos_t *repos, apr_time_t tm, apr_pool_t *pool)
Set *revision to the revision number in repos's filesystem that was youngest at time tm.
svn_error_t * svn_repos_fs_get_mergeinfo2(svn_repos_t *repos, const apr_array_header_t *paths, svn_revnum_t revision, svn_mergeinfo_inheritance_t inherit, svn_boolean_t include_descendants, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, svn_repos_mergeinfo_receiver_t receiver, void *receiver_baton, apr_pool_t *scratch_pool)
For each node found with mergeinfo on it, invoke receiver with the provided receiver_baton.
svn_error_t * svn_repos_dir_delta(svn_fs_root_t *src_root, const char *src_parent_dir, const char *src_entry, svn_fs_root_t *tgt_root, const char *tgt_path, const svn_delta_editor_t *editor, void *edit_baton, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, svn_boolean_t text_deltas, svn_boolean_t recurse, svn_boolean_t entry_props, svn_boolean_t ignore_ancestry, apr_pool_t *pool)
Similar to svn_repos_dir_delta2(), but if recurse is TRUE, pass svn_depth_infinity for depth,...
@ svn_authz_recursive
The other access credentials are recursive.
@ svn_repos_notify_pack_shard_start_revprop
packing of the shard revprops has commenced
const char * svn_repos_hook_dir(svn_repos_t *repos, apr_pool_t *pool)
Return the path to repos's hook directory, allocated in pool.
@ svn_repos_notify_warning_invalid_fspath
Found an invalid path in the filesystem.
@ svn_repos_notify_pack_shard_end
packing of an FSFS shard is completed
svn_error_t * svn_repos_recover2(const char *path, svn_boolean_t nonblocking, svn_error_t *(*start_callback)(void *baton), void *start_callback_baton, apr_pool_t *pool)
Similar to svn_repos_recover3(), but without cancellation support.
struct svn_stream_t svn_stream_t
An abstract stream of bytes–either incoming or outgoing or both.
@ svn_repos_load_uuid_force
always update uuid.
@ svn_repos_notify_recover_start
Recover has started.
apr_hash_t * svn_mergeinfo_catalog_t
A hash mapping paths (const char *) to svn_mergeinfo_t.
svn_error_t * svn_repos_get_commit_editor(const svn_delta_editor_t **editor, void **edit_baton, svn_repos_t *repos, const char *repos_url, const char *base_path, const char *user, const char *log_msg, svn_commit_callback_t callback, void *callback_baton, apr_pool_t *pool)
Similar to svn_repos_get_commit_editor2(), but with txn always set to NULL.
svn_error_t * svn_repos_authz_parse(svn_authz_t **authz_p, svn_stream_t *stream, svn_stream_t *groups_stream, apr_pool_t *pool)
Similar to svn_repos_authz_parse2(), but with warning_func and warning_baton set to NULL.
svn_error_t * svn_repos_get_commit_editor5(const svn_delta_editor_t **editor, void **edit_baton, svn_repos_t *repos, svn_fs_txn_t *txn, const char *repos_url_decoded, const char *base_path, apr_hash_t *revprop_table, svn_commit_callback2_t commit_callback, void *commit_baton, svn_repos_authz_callback_t authz_callback, void *authz_baton, apr_pool_t *pool)
Return an editor and edit_baton to commit changes to the filesystem of repos, beginning at location '...
svn_error_t * svn_repos_get_logs(svn_repos_t *repos, 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)
Same as svn_repos_get_logs2(), but with authz_read_func and authz_read_baton always set to NULL.
svn_error_t * svn_repos_fs_commit_txn(const char **conflict_p, svn_repos_t *repos, svn_revnum_t *new_rev, svn_fs_txn_t *txn, apr_pool_t *pool)
Like svn_fs_commit_txn(), but invoke the repos' pre- and post-commit hooks around the commit.
svn_error_t * svn_repos_get_commit_editor4(const svn_delta_editor_t **editor, void **edit_baton, svn_repos_t *repos, svn_fs_txn_t *txn, const char *repos_url, const char *base_path, const char *user, const char *log_msg, svn_commit_callback2_t commit_callback, void *commit_baton, svn_repos_authz_callback_t authz_callback, void *authz_baton, apr_pool_t *pool)
Similar to svn_repos_get_commit_editor5(), but with revprop_table set to a hash containing user and l...
svn_error_t * svn_repos_open3(svn_repos_t **repos_p, const char *path, apr_hash_t *fs_config, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Set *repos_p to a repository object for the repository at path.
svn_error_t * svn_repos_link_path2(void *report_baton, const char *path, const char *link_path, svn_revnum_t revision, svn_boolean_t start_empty, const char *lock_token, apr_pool_t *pool)
Similar to svn_repos_link_path3(), but with depth set to svn_depth_infinity.
const char * svn_repos_db_env(svn_repos_t *repos, apr_pool_t *pool)
Return the path to repos's filesystem directory, allocated in pool.
@ svn_repos_notify_warning_name_collision
Detected a name collision.
const char * path
For svn_repos_notify_load_node_start, the path of the node.
revision::number revnum
revision::number alias for convenience.
svn_error_t * svn_repos_get_fs_build_parser6(const svn_repos_parse_fns3_t **parser, void **parse_baton, svn_repos_t *repos, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_boolean_t use_history, svn_boolean_t validate_props, enum svn_repos_load_uuid uuid_action, const char *parent_dir, svn_boolean_t use_pre_commit_hook, svn_boolean_t use_post_commit_hook, svn_boolean_t ignore_dates, svn_boolean_t normalize_props, svn_repos_notify_func_t notify_func, void *notify_baton, apr_pool_t *pool)
Set *parser and *parse_baton to a vtable parser which commits new revisions to the fs in repos.
@ svn_repos_load_uuid_ignore
never update uuid.
svn_error_t * svn_repos_load_fs5(svn_repos_t *repos, svn_stream_t *dumpstream, svn_revnum_t start_rev, svn_revnum_t end_rev, enum svn_repos_load_uuid uuid_action, const char *parent_dir, svn_boolean_t use_pre_commit_hook, svn_boolean_t use_post_commit_hook, svn_boolean_t validate_props, svn_boolean_t ignore_dates, svn_repos_notify_func_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Similar to svn_repos_load_fs6(), but with the normalize_props parameter always set to FALSE.
void(* svn_repos_authz_warning_func_t)(void *baton, const svn_error_t *error, apr_pool_t *scratch_pool)
Callback for reporting authz file parsing warnings.
svn_error_t * svn_repos_fs_change_rev_prop2(svn_repos_t *repos, svn_revnum_t rev, const char *author, const char *name, const svn_string_t *new_value, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
Similar to svn_repos_fs_change_rev_prop3(), but with the use_pre_revprop_change_hook and use_post_rev...
svn_error_t * svn_repos_get_committed_info(svn_revnum_t *committed_rev, const char **committed_date, const char **last_author, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Given a root/path within some filesystem, return three pieces of information allocated in pool:
svn_revnum_t new_revision
For svn_repos_notify_load_txn_committed, the revision committed.
svn_error_t * svn_repos_fs_get_locks(apr_hash_t **locks, svn_repos_t *repos, const char *path, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
Similar to svn_repos_fs_get_locks2(), but with depth always passed as svn_depth_infinity.
svn_error_t *(* svn_repos_dirent_receiver_t)(const char *path, svn_dirent_t *dirent, void *baton, apr_pool_t *scratch_pool)
Callback type to be used with svn_repos_list().
svn_error_t * svn_repos_begin_report2(void **report_baton, svn_revnum_t revnum, svn_repos_t *repos, const char *fs_base, const char *target, const char *tgt_path, svn_boolean_t text_deltas, svn_depth_t depth, svn_boolean_t ignore_ancestry, svn_boolean_t send_copyfrom_args, const svn_delta_editor_t *editor, void *edit_baton, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
The same as svn_repos_begin_report3(), but with zero_copy_limit always passed as 0.
const char * warning_str
For svn_repos_notify_warning, the warning message.
const char * svn_repos_post_unlock_hook(svn_repos_t *repos, apr_pool_t *pool)
Return the path to repos's post-unlock hook, allocated in pool.
svn_repos_notify_action_t action
Action that describes what happened in the repository.
svn_error_t * svn_repos_fs_begin_txn_for_commit(svn_fs_txn_t **txn_p, svn_repos_t *repos, svn_revnum_t rev, const char *author, const char *log_msg, apr_pool_t *pool)
Same as svn_repos_fs_begin_txn_for_commit2(), but with revprop_table set to a hash containing author ...
svn_error_t * svn_repos_load_fs2(svn_repos_t *repos, svn_stream_t *dumpstream, svn_stream_t *feedback_stream, enum svn_repos_load_uuid uuid_action, const char *parent_dir, svn_boolean_t use_pre_commit_hook, svn_boolean_t use_post_commit_hook, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Similar to svn_repos_load_fs3(), but with feedback_stream in place of the svn_repos_notify_func_t and...
@ svn_repos_notify_load_txn_start
A revision has begun loading.
svn_error_t * svn_repos_fs_unlock(svn_repos_t *repos, const char *path, const char *token, svn_boolean_t break_lock, apr_pool_t *pool)
Similar to svn_repos_fs_unlock_many() but only unlocks a single path.
enum svn_node_action node_action
For svn_repos_notify_load_node_start, the action being taken on the node.
svn_error_t * svn_repos_get_logs2(svn_repos_t *repos, 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_repos_authz_func_t authz_read_func, void *authz_read_baton, svn_log_message_receiver_t receiver, void *receiver_baton, apr_pool_t *pool)
Same as svn_repos_get_logs3(), but with limit always set to 0.
svn_repos_node_t * svn_repos_node_from_baton(void *edit_baton)
Return the root node of the linked-list tree generated by driving the editor (associated with edit_ba...
svn_error_t * svn_repos_set_path3(void *report_baton, const char *path, svn_revnum_t revision, svn_depth_t depth, svn_boolean_t start_empty, const char *lock_token, apr_pool_t *pool)
Given a report_baton constructed by svn_repos_begin_report3(), record the presence of path,...
const char * svn_repos_conf_dir(svn_repos_t *repos, apr_pool_t *pool)
Return path to repos's config directory, allocated in pool.
svn_depth_t
The concept of depth for directories.
@ svn_repos_notify_format_bumped
The repository format got bumped.
svn_revnum_t revision
For svn_repos_notify_dump_rev_end and svn_repos_notify_verify_rev_end, the revision which just comple...
svn_revnum_t start_revision
For svn_repos_notify_hotcopy_rev_range, the start of the copied revision range.
svn_error_t * svn_repos_db_logfiles(apr_array_header_t **logfiles, const char *path, svn_boolean_t only_unused, apr_pool_t *pool)
This function is a wrapper around svn_fs_berkeley_logfiles(), returning log file paths relative to th...
svn_error_t * svn_repos_finish_report(void *report_baton, apr_pool_t *pool)
Given a report_baton constructed by svn_repos_begin_report3(), finish the report and drive the editor...
struct svn_repos_parse_fns_t svn_repos_parser_fns_t
A vtable that is driven by svn_repos_parse_dumpstream().
const char * svn_repos_db_logs_lockfile(svn_repos_t *repos, apr_pool_t *pool)
Return path to repos's db logs lockfile, allocated in pool.
A node in the repository.
svn_repos_parse_fns2_t svn_repos_parser_fns2_t
@ svn_repos_revision_access_partial
access granted to some (svn:date and svn:author) revision properties and changed-paths information on...
svn_error_t * svn_repos_remember_client_capabilities(svn_repos_t *repos, const apr_array_header_t *capabilities)
Store in repos the client-reported capabilities capabilities, which must be allocated in memory at le...
svn_error_t * svn_repos_dump_fs(svn_repos_t *repos, svn_stream_t *dumpstream, svn_stream_t *feedback_stream, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_boolean_t incremental, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Similar to svn_repos_dump_fs2(), but with the use_deltas parameter always set to FALSE.
svn_mergeinfo_inheritance_t
The three ways to request mergeinfo affecting a given path.
svn_error_t * svn_repos_abort_report(void *report_baton, apr_pool_t *pool)
Given a report_baton constructed by svn_repos_begin_report3(), abort the report.
@ svn_authz_none
No access.
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...
A lock object, for client & server to share.
apr_hash_t * revprops
The hash of requested revision properties, which may be NULL if it would contain no revprops.
svn_error_t * svn_repos_link_path(void *report_baton, const char *path, const char *link_path, svn_revnum_t revision, svn_boolean_t start_empty, apr_pool_t *pool)
Similar to svn_repos_link_path2(), but with lock_token set to NULL.
svn_repos_notify_action_t
The type of action occurring.
svn_error_t * svn_repos_open(svn_repos_t **repos_p, const char *path, apr_pool_t *pool)
Similar to svn_repos_open2() with fs_config set to NULL.
svn_error_t * svn_repos_parse_dumpstream2(svn_stream_t *stream, const svn_repos_parser_fns2_t *parse_fns, void *parse_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Similar to svn_repos_parse_dumpstream3(), but uses the more limited svn_repos_parser_fns2_t vtable ty...
const char * svn_repos_fs_type(svn_repos_t *repos, apr_pool_t *result_pool)
Return the type of filesystem associated with repository object repos allocated in result_pool.
svn_node_action
The different "actions" attached to nodes in the dumpfile.
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_repos_fs_lock(svn_lock_t **lock, svn_repos_t *repos, const char *path, const char *token, const char *comment, svn_boolean_t is_dav_comment, apr_time_t expiration_date, svn_revnum_t current_rev, svn_boolean_t steal_lock, apr_pool_t *pool)
Similar to svn_repos_fs_lock_many() but locks only a single path.
svn_error_t * svn_repos_get_fs_build_parser2(const svn_repos_parse_fns2_t **parser, void **parse_baton, svn_repos_t *repos, svn_boolean_t use_history, enum svn_repos_load_uuid uuid_action, svn_stream_t *outstream, const char *parent_dir, apr_pool_t *pool)
Similar to svn_repos_get_fs_build_parser3(), but with outstream in place if a svn_repos_notify_func_t...
svn_error_t * svn_repos_verify_fs(svn_repos_t *repos, svn_stream_t *feedback_stream, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Similar to svn_repos_verify_fs2(), but with a feedback_stream instead of handling feedback via the no...
svn_error_t * svn_repos_get_logs3(svn_repos_t *repos, 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_repos_authz_func_t authz_read_func, void *authz_read_baton, svn_log_message_receiver_t receiver, void *receiver_baton, apr_pool_t *pool)
Same as svn_repos_get_logs4(), but with receiver being svn_log_message_receiver_t instead of svn_log_...
@ svn_repos_notify_warning
A warning message is waiting.
svn_error_t * svn_repos_fs_begin_txn_for_update(svn_fs_txn_t **txn_p, svn_repos_t *repos, svn_revnum_t rev, const char *author, apr_pool_t *pool)
Like svn_fs_begin_txn(), but use author to set the corresponding property on transaction *txn_p.
@ svn_repos_notify_load_node_start
A node has begun loading.
svn_error_t * svn_repos_parse_dumpstream(svn_stream_t *stream, const svn_repos_parser_fns_t *parse_fns, void *parse_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Similar to svn_repos_parse_dumpstream2(), but uses the more limited svn_repos_parser_fns_t vtable typ...
svn_error_t * svn_repos_fs_change_node_prop(svn_fs_root_t *root, const char *path, const char *name, const svn_string_t *value, apr_pool_t *pool)
Validating wrapper for svn_fs_change_node_prop() (which see for argument descriptions).
char action
How this node entered the node tree: 'A'dd, 'D'elete, 'R'eplace.
const char * copyfrom_path
The filesystem path where this was copied from (if any)
svn_error_t * svn_repos_fs_pack2(svn_repos_t *repos, svn_repos_notify_func_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Possibly update the repository, repos, to use a more efficient filesystem representation.
svn_error_t * svn_repos_load_fs_revprops(svn_repos_t *repos, svn_stream_t *dumpstream, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_boolean_t validate_props, svn_boolean_t ignore_dates, svn_boolean_t normalize_props, svn_repos_notify_func_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *scratch_pool)
Read and parse dumpfile-formatted dumpstream, extracting the revision properties from it and apply th...
struct svn_repos_node_t * parent
Pointer to the parent of this node.
struct svn_fs_t svn_fs_t
An object representing a Subversion filesystem.
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_repos_notify_warning_invalid_mergeinfo
Detected invalid mergeinfo.
svn_error_t * svn_repos_dump_fs2(svn_repos_t *repos, svn_stream_t *dumpstream, svn_stream_t *feedback_stream, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_boolean_t incremental, svn_boolean_t use_deltas, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Similar to svn_repos_dump_fs3(), but with a feedback_stream instead of handling feedback via the noti...
const char * svn_repos_pre_lock_hook(svn_repos_t *repos, apr_pool_t *pool)
Return the path to repos's pre-lock hook, allocated in pool.
svn_error_t * svn_repos_dump_fs4(svn_repos_t *repos, svn_stream_t *stream, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_boolean_t incremental, svn_boolean_t use_deltas, svn_boolean_t include_revprops, svn_boolean_t include_changes, svn_repos_notify_func_t notify_func, void *notify_baton, svn_repos_dump_filter_func_t filter_func, void *filter_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Dump the contents of the filesystem within already-open repos into writable dumpstream.
const char * svn_repos_pre_revprop_change_hook(svn_repos_t *repos, apr_pool_t *pool)
Return the path to repos's pre-revprop-change hook, allocated in pool.
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_repos_list(svn_fs_root_t *root, const char *path, const apr_array_header_t *patterns, svn_depth_t depth, svn_boolean_t path_info_only, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, svn_repos_dirent_receiver_t receiver, void *receiver_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *scratch_pool)
Efficiently list everything within a sub-tree.
svn_error_t * svn_repos_create(svn_repos_t **repos_p, const char *path, const char *unused_1, const char *unused_2, apr_hash_t *config, apr_hash_t *fs_config, apr_pool_t *pool)
Create a new Subversion repository at path, building the necessary directory structure,...
svn_error_t *(* svn_repos_dump_filter_func_t)(svn_boolean_t *include, svn_fs_root_t *root, const char *path, void *baton, apr_pool_t *scratch_pool)
Callback for filtering repository contents during dump.
svn_repos_notify_t * svn_repos_notify_create(svn_repos_notify_action_t action, apr_pool_t *result_pool)
Allocate an svn_repos_notify_t structure in result_pool, initialize and return it.
svn_error_t *(* svn_repos_verify_callback_t)(void *baton, svn_revnum_t revision, svn_error_t *verify_err, apr_pool_t *scratch_pool)
Callback type for use with svn_repos_verify_fs3().
svn_error_t * svn_repos_verify_fs3(svn_repos_t *repos, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_boolean_t check_normalization, svn_boolean_t metadata_only, svn_repos_notify_func_t notify_func, void *notify_baton, svn_repos_verify_callback_t verify_callback, void *verify_baton, svn_cancel_func_t cancel, void *cancel_baton, apr_pool_t *scratch_pool)
Verify the contents of the file system in repos.
svn_repos_load_uuid
The different policies for processing the UUID in the dumpfile.
svn_error_t * svn_repos_trace_node_locations(svn_fs_t *fs, apr_hash_t **locations, const char *fs_path, svn_revnum_t peg_revision, const apr_array_header_t *location_revisions, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
Set *locations to be a mapping of the revisions to the paths of the file fs_path present at the repos...
svn_error_t * svn_repos_upgrade(const char *path, svn_boolean_t nonblocking, svn_error_t *(*start_callback)(void *baton), void *start_callback_baton, apr_pool_t *pool)
Similar to svn_repos_upgrade2(), but with start_callback and baton, rather than a notify_callback / b...
svn_error_t * svn_repos_deleted_rev(svn_fs_t *fs, const char *path, svn_revnum_t start, svn_revnum_t end, svn_revnum_t *deleted, apr_pool_t *pool)
Given path which exists at revision start in fs, set *deleted to the revision path was first deleted,...
struct svn_repos_t svn_repos_t
The repository object.
A general subversion directory entry.
struct svn_fs_txn_t svn_fs_txn_t
The type of a Subversion transaction object.
svn_error_t * svn_repos_fs_change_rev_prop4(svn_repos_t *repos, svn_revnum_t rev, const char *author, const char *name, const svn_string_t *const *old_value_p, const svn_string_t *new_value, svn_boolean_t use_pre_revprop_change_hook, svn_boolean_t use_post_revprop_change_hook, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
Like svn_fs_change_rev_prop2(), but validate the name and value of the property and invoke the repos'...
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_repos_get_logs5(svn_repos_t *repos, const apr_array_header_t *paths, svn_revnum_t start, svn_revnum_t end, int limit, svn_boolean_t strict_node_history, svn_boolean_t include_merged_revisions, const apr_array_header_t *revprops, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, svn_repos_path_change_receiver_t path_change_receiver, void *path_change_receiver_baton, svn_repos_log_entry_receiver_t revision_receiver, void *revision_receiver_baton, apr_pool_t *scratch_pool)
Invoke revision_receiver with revision_receiver_baton on each revision from start to end in repos's f...
svn_error_t * svn_repos_capabilities(apr_hash_t **capabilities, svn_repos_t *repos, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Return a set of capabilities supported by the running Subversion library and by repos.
A structure to represent all the information about a particular log entry.
struct svn_repos_node_t * child
Pointer to the first child of this node.
svn_error_t * svn_repos_get_file_revs(svn_repos_t *repos, const char *path, svn_revnum_t start, svn_revnum_t end, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, svn_repos_file_rev_handler_t handler, void *handler_baton, apr_pool_t *pool)
Similar to svn_repos_get_file_revs2(), with include_merged_revisions set to FALSE.
svn_error_t *(* svn_fs_mergeinfo_receiver_t)(const char *path, svn_mergeinfo_t mergeinfo, void *baton, apr_pool_t *scratch_pool)
Receives parsed mergeinfo for the file system path path.
svn_revnum_t copyfrom_rev
The filesystem revision where this was copied from (if any)
int svn_boolean_t
YABT: Yet Another Boolean Type.
svn_error_t * svn_repos_begin_report(void **report_baton, svn_revnum_t revnum, const char *username, svn_repos_t *repos, const char *fs_base, const char *target, const char *tgt_path, svn_boolean_t text_deltas, svn_boolean_t recurse, svn_boolean_t ignore_ancestry, const svn_delta_editor_t *editor, void *edit_baton, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
The same as svn_repos_begin_report2(), but taking a boolean recurse flag, and sending FALSE for send_...
#define SVN_DEPRECATED
Macro used to mark deprecated functions.
svn_error_t * svn_repos_get_fs_build_parser4(const svn_repos_parse_fns3_t **parser, void **parse_baton, svn_repos_t *repos, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_boolean_t use_history, svn_boolean_t validate_props, enum svn_repos_load_uuid uuid_action, const char *parent_dir, svn_repos_notify_func_t notify_func, void *notify_baton, apr_pool_t *pool)
Similar to svn_repos_get_fs_build_parser5(), but with the use_pre_commit_hook, use_post_commit_hook a...
svn_error_t * svn_repos_replay(svn_fs_root_t *root, const svn_delta_editor_t *editor, void *edit_baton, apr_pool_t *pool)
Similar to svn_repos_replay2(), but with base_dir set to "", low_water_mark set to SVN_INVALID_REVNUM...
svn_repos_log_entry_t * svn_repos_log_entry_dup(const svn_repos_log_entry_t *log_entry, apr_pool_t *result_pool)
Return a deep copy of log_entry, allocated in result_pool.
struct svn_repos_parse_fns3_t svn_repos_parse_fns3_t
A vtable that is driven by svn_repos_parse_dumpstream3().
svn_error_t *(* svn_fs_lock_callback_t)(void *baton, const char *path, const svn_lock_t *lock, svn_error_t *fs_err, apr_pool_t *scratch_pool)
The callback invoked by svn_fs_lock_many() and svn_fs_unlock_many().
svn_error_t * svn_repos_fs_pack(svn_repos_t *repos, svn_fs_pack_notify_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Similar to svn_repos_fs_pack2(), but with a svn_fs_pack_notify_t instead of a svn_repos_notify_t.
svn_repos_notify_warning_t warning
For svn_repos_notify_warning, the warning type.
svn_fs_path_change3_t svn_repos_path_change_t
Path change descriptor.
long int svn_revnum_t
A revision number.
svn_node_kind_t
The various types of nodes in the Subversion filesystem.
@ svn_repos_notify_verify_rev_end
A revision has finished being verified.
apr_int64_t shard
For svn_repos_notify_pack_shard_start, svn_repos_notify_pack_shard_end, svn_repos_notify_pack_revprop...
svn_error_t * svn_repos_fs_get_locks2(apr_hash_t **locks, svn_repos_t *repos, const char *path, svn_depth_t depth, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
Look up all the locks in and under path in repos, setting *locks to a hash which maps const char * pa...
@ svn_repos_revision_access_full
access granted to all revision properites and changed-paths information.
@ svn_repos_notify_pack_noop
The repository pack did not do anything.
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...
const char * svn_repos_svnserve_conf(svn_repos_t *repos, apr_pool_t *pool)
Return path to repos's svnserve.conf, allocated in pool.
struct svn_repos_node_t * sibling
Pointer to the next sibling of this node.
svn_error_t * svn_repos_dir_delta2(svn_fs_root_t *src_root, const char *src_parent_dir, const char *src_entry, svn_fs_root_t *tgt_root, const char *tgt_path, const svn_delta_editor_t *editor, void *edit_baton, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, svn_boolean_t text_deltas, svn_depth_t depth, svn_boolean_t entry_props, svn_boolean_t ignore_ancestry, apr_pool_t *pool)
Use the provided editor and edit_baton to describe the changes necessary for making a given node (and...
svn_error_t * svn_repos_fs_change_txn_prop(svn_fs_txn_t *txn, const char *name, const svn_string_t *value, apr_pool_t *pool)
Validating wrapper for svn_fs_change_txn_prop() (which see for argument descriptions).
svn_error_t *(* svn_repos_history_func_t)(void *baton, const char *path, svn_revnum_t revision, apr_pool_t *pool)
Callback type for use with svn_repos_history().
@ svn_authz_write
Path can be altered.
A vtable that is driven by svn_repos_parse_dumpstream().
svn_revnum_t end_revision
For svn_repos_notify_hotcopy_rev_range, the end of the copied revision range (might be the same as st...
svn_error_t * svn_repos_open2(svn_repos_t **repos_p, const char *path, apr_hash_t *fs_config, apr_pool_t *pool)
Similar to svn_repos_open3() but without scratch_pool.
svn_error_t * svn_repos_hotcopy(const char *src_path, const char *dst_path, svn_boolean_t clean_logs, apr_pool_t *pool)
Like svn_repos_hotcopy2(), but with incremental always passed as FALSE and without cancellation suppo...
svn_repos_log_entry_t * svn_repos_log_entry_create(apr_pool_t *result_pool)
Return an svn_repos_log_entry_t, allocated in result_pool, with all fields initialized to their respe...
svn_boolean_t non_inheritable
Whether revision should be interpreted as non-inheritable in the same sense of svn_merge_range_t.
const char * svn_repos_pre_unlock_hook(svn_repos_t *repos, apr_pool_t *pool)
Return the path to repos's pre-unlock hook, allocated in pool.
svn_error_t * svn_repos_load_fs(svn_repos_t *repos, svn_stream_t *dumpstream, svn_stream_t *feedback_stream, enum svn_repos_load_uuid uuid_action, const char *parent_dir, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Similar to svn_repos_load_fs2(), but with use_pre_commit_hook and use_post_commit_hook always FALSE.
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...
svn_error_t * svn_repos_set_path2(void *report_baton, const char *path, svn_revnum_t revision, svn_boolean_t start_empty, const char *lock_token, apr_pool_t *pool)
Similar to svn_repos_set_path3(), but with depth set to svn_depth_infinity.
@ svn_repos_notify_pack_revprops
A revprop shard got packed.
const char * svn_repos_find_root_path(const char *path, apr_pool_t *pool)
Find the root path of the repository that contains path.
svn_error_t * svn_repos_get_commit_editor2(const svn_delta_editor_t **editor, void **edit_baton, svn_repos_t *repos, svn_fs_txn_t *txn, const char *repos_url, const char *base_path, const char *user, const char *log_msg, svn_commit_callback_t callback, void *callback_baton, apr_pool_t *pool)
Similar to svn_repos_get_commit_editor3(), but with authz_callback and authz_baton set to NULL.
svn_repos_notify_warning_t
The type of warning occurring.
svn_boolean_t text_mod
Were there any textual mods? (files only)
svn_error_t * svn_repos_hotcopy2(const char *src_path, const char *dst_path, svn_boolean_t clean_logs, svn_boolean_t incremental, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Like svn_repos_hotcopy3(), but with notify_func and notify_baton always passed as NULL.
A structure full of callback functions the delta source will invoke as it produces the delta.
svn_error_t * svn_repos_authz_initialize(apr_pool_t *pool)
This should be called before any other authz function.
svn_error_t * svn_repos_fs_begin_txn_for_commit2(svn_fs_txn_t **txn_p, svn_repos_t *repos, svn_revnum_t rev, apr_hash_t *revprop_table, apr_pool_t *pool)
Like svn_fs_begin_txn(), but use revprop_table, a hash mapping const char * property names to svn_str...
@ svn_repos_notify_verify_rev_structure
The structure of a revision is being verified.
svn_boolean_t subtractive_merge
Whether revision is a merged revision resulting from a reverse merge.
svn_error_t *(* svn_repos_path_change_receiver_t)(void *baton, svn_repos_path_change_t *change, apr_pool_t *scratch_pool)
The callback invoked by log message loopers, such as svn_repos_get_logs5().
svn_error_t *(* svn_repos_authz_callback_t)(svn_repos_authz_access_t required, svn_boolean_t *allowed, svn_fs_root_t *root, const char *path, void *baton, apr_pool_t *pool)
Callback type for checking authorization on paths produced by the repository commit editor.
General file I/O for Subversion.
const char * name
The name of this node as it appears in its parent's entries list.
struct svn_repos_node_t svn_repos_node_t
A node in the repository.
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_...
@ svn_repos_load_uuid_default
only update uuid if the repos has no revisions.
svn_fs_mergeinfo_receiver_t svn_repos_mergeinfo_receiver_t
Receives parsed mergeinfo for the file system path path.
svn_error_t *(* svn_repos_freeze_func_t)(void *baton, apr_pool_t *pool)
Callback for svn_repos_freeze.
@ svn_repos_notify_dump_rev_end
A revision has finished being dumped.
svn_error_t * svn_repos_dump_fs3(svn_repos_t *repos, svn_stream_t *dumpstream, svn_revnum_t start_rev, svn_revnum_t end_rev, svn_boolean_t incremental, svn_boolean_t use_deltas, svn_repos_notify_func_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *scratch_pool)
Similar to svn_repos_dump_fs4(), but with include_revprops and include_changes both set to TRUE and f...
svn_error_t * svn_repos_load_fs6(svn_repos_t *repos, svn_stream_t *dumpstream, svn_revnum_t start_rev, svn_revnum_t end_rev, enum svn_repos_load_uuid uuid_action, const char *parent_dir, svn_boolean_t use_pre_commit_hook, svn_boolean_t use_post_commit_hook, svn_boolean_t validate_props, svn_boolean_t ignore_dates, svn_boolean_t normalize_props, svn_repos_notify_func_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Read and parse dumpfile-formatted dumpstream, reconstructing filesystem revisions in already-open rep...
svn_error_t * svn_repos_info_format(int *repos_format, svn_version_t **supports_version, svn_repos_t *repos, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Return repository format information for repos.
struct svn_fs_root_t svn_fs_root_t
The Filesystem Root object.
svn_error_t * svn_repos_authz_check_access(svn_authz_t *authz, const char *repos_name, const char *path, const char *user, svn_repos_authz_access_t required_access, svn_boolean_t *access_granted, apr_pool_t *pool)
Check whether user can access path in the repository repos_name with the required_access.
svn_revnum_t old_revision
For svn_repos_notify_load_txn_committed, the source revision, if different from new_revision,...
svn_error_t * svn_repos_has_capability(svn_repos_t *repos, svn_boolean_t *has, const char *capability, apr_pool_t *pool)
Set *has to TRUE if repos has capability (one of the capabilities beginning with "SVN_REPOS_CAPABILIT...
@ svn_repos_notify_mutex_acquired
The operation has acquired a mutex for the repo.
mergeinfo handling and processing
svn_error_t *(* svn_repos_authz_func_t)(svn_boolean_t *allowed, svn_fs_root_t *root, const char *path, void *baton, apr_pool_t *pool)
Callback type for checking authorization on a path.
@ svn_repos_notify_cleanup_revprops
A non-packed revprop shard got removed.
struct svn_authz_t svn_authz_t
A data type which stores the authz information.
svn_error_t * svn_repos_authz_parse2(svn_authz_t **authz_p, svn_stream_t *stream, svn_stream_t *groups_stream, svn_repos_authz_warning_func_t warning_func, void *warning_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Read authz configuration data from stream into *authz_p, allocated in result_pool.
svn_error_t * svn_repos_fs_get_mergeinfo(svn_mergeinfo_catalog_t *catalog, svn_repos_t *repos, const apr_array_header_t *paths, svn_revnum_t revision, svn_mergeinfo_inheritance_t inherit, svn_boolean_t include_descendants, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool)
Same as svn_repos_fs_get_mergeinfo2(), but all mergeinfo is being collected and returned in *catalog.
@ svn_authz_read
Path can be read.
svn_error_t * svn_repos_delete_path(void *report_baton, const char *path, apr_pool_t *pool)
Given a report_baton constructed by svn_repos_begin_report3(), record the non-existence of path in th...
svn_error_t * svn_repos_authz_read3(svn_authz_t **authz_p, const char *path, const char *groups_path, svn_boolean_t must_exist, svn_repos_t *repos_hint, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Similar to svn_repos_authz_read3(), but with warning_func and warning_baton set to NULL.
@ svn_repos_notify_load_normalized_mergeinfo
Mergeinfo has been normalized.
svn_error_t * svn_repos_recover(const char *path, apr_pool_t *pool)
Similar to svn_repos_recover2(), but with nonblocking set to FALSE, and with no callbacks provided.
svn_error_t * svn_repos_fs_change_txn_props(svn_fs_txn_t *txn, const apr_array_header_t *props, apr_pool_t *pool)
Validating wrapper for svn_fs_change_txn_props() (which see for argument descriptions).