31 #include <apr_pools.h>
33 #include <apr_tables.h>
73 #define SVN_FS_CONFIG_BDB_TXN_NOSYNC "bdb-txn-nosync"
74 #define SVN_FS_CONFIG_BDB_LOG_AUTOREMOVE "bdb-log-autoremove"
80 #define SVN_FS_CONFIG_FSFS_CACHE_DELTAS "fsfs-cache-deltas"
86 #define SVN_FS_CONFIG_FSFS_CACHE_FULLTEXTS "fsfs-cache-fulltexts"
96 #define SVN_FS_CONFIG_FSFS_CACHE_REVPROPS "fsfs-cache-revprops"
111 #define SVN_FS_CONFIG_FSFS_CACHE_NS "fsfs-cache-namespace"
118 #define SVN_FS_CONFIG_FS_TYPE "fs-type"
120 #define SVN_FS_TYPE_BDB "bdb"
122 #define SVN_FS_TYPE_FSFS "fsfs"
129 #define SVN_FS_CONFIG_PRE_1_4_COMPATIBLE "pre-1.4-compatible"
136 #define SVN_FS_CONFIG_PRE_1_5_COMPATIBLE "pre-1.5-compatible"
143 #define SVN_FS_CONFIG_PRE_1_6_COMPATIBLE "pre-1.6-compatible"
150 #define SVN_FS_CONFIG_PRE_1_8_COMPATIBLE "pre-1.8-compatible"
202 void *warning_baton);
237 apr_hash_t *fs_config,
264 apr_hash_t *fs_config,
372 const char *dest_path,
377 apr_pool_t *scratch_pool);
389 const char *dest_path,
440 typedef svn_error_t *(*svn_fs_freeze_func_t)(
void *baton, apr_pool_t *pool);
498 void (*handler)(
const char *errpfx,
567 const char *dest_path,
610 const char *username,
868 #define SVN_FS_TXN_CHECK_OOD 0x00001
873 #define SVN_FS_TXN_CHECK_LOCKS 0x00002
1048 const char *propname,
1086 const apr_array_header_t *props,
1253 const char *copyfrom_path;
1489 const char *propname,
1584 const char **path_p,
1607 const char **path_p,
1649 const apr_array_header_t *paths,
1653 apr_pool_t *result_pool,
1654 apr_pool_t *scratch_pool);
1666 const apr_array_header_t *paths,
1701 const char *source_path,
1703 const char *target_path,
1705 const char *ancestor_path,
1795 const char *from_path,
1797 const char *to_path,
1914 (*svn_fs_process_contents_func_t)(
const unsigned char *contents,
1917 apr_pool_t *scratch_pool);
1990 void **contents_baton_p,
1993 const char *base_checksum,
1994 const char *result_checksum,
2028 const char *result_checksum,
2085 const char *propname,
2162 const char *source_path,
2164 const char *target_path,
2269 const char *comment,
2271 apr_time_t expiration_date,
2360 void *get_locks_baton,
2382 void *get_locks_baton,
2487 apr_hash_t *fs_config,
2494 apr_pool_t *scratch_pool);
2522 apr_pool_t *scratch_pool);
svn_error_t * svn_fs_get_mergeinfo(svn_mergeinfo_catalog_t *catalog, svn_fs_root_t *root, const apr_array_header_t *paths, svn_mergeinfo_inheritance_t inherit, svn_boolean_t include_descendants, apr_pool_t *pool)
Same as svn_fs_get_mergeinfo2(), but with adjust_inherited_mergeinfo set always set to TRUE and with ...
ignore all previous change items for path (internal-use only)
svn_error_t * svn_fs_verify(const char *path, apr_hash_t *fs_config, svn_revnum_t start, svn_revnum_t end, svn_fs_progress_notify_func_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *scratch_pool)
Perform backend-specific data consistency and correctness validations to the Subversion filesystem (m...
svn_error_t * svn_fs_set_berkeley_errcall(svn_fs_t *fs, void(*handler)(const char *errpfx, char *msg))
Register an error handling function for Berkeley DB error messages.
Counted-length strings for Subversion, plus some C string goodies.
svn_error_t * svn_fs_txn_proplist(apr_hash_t **table_p, svn_fs_txn_t *txn, apr_pool_t *pool)
Set *table_p to the entire property list of transaction txn, as an APR hash table allocated in pool...
svn_error_t * svn_fs_freeze(svn_fs_t *fs, svn_fs_freeze_func_t freeze_func, void *freeze_baton, apr_pool_t *pool)
Take an exclusive lock on fs to prevent commits and then invoke freeze_func passing freeze_baton...
svn_error_t * svn_fs_begin_txn(svn_fs_txn_t **txn_p, svn_fs_t *fs, svn_revnum_t rev, apr_pool_t *pool)
Same as svn_fs_begin_txn2(), but with flags set to 0.
svn_error_t * svn_fs_delete_fs(const char *path, apr_pool_t *pool)
Delete the filesystem at path.
svn_error_t * svn_fs_set_access(svn_fs_t *fs, svn_fs_access_t *access_ctx)
Associate access_ctx with an open fs.
svn_depth_t
The concept of depth for directories.
svn_error_t * svn_fs_is_file(svn_boolean_t *is_file, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *is_file to TRUE iff path in root is a file.
svn_error_t * svn_fs_get_access(svn_fs_access_t **access_ctx, svn_fs_t *fs)
Set *access_ctx to the current fs access context, or NULL if there is no current fs access context...
svn_error_t * svn_fs_paths_changed2(apr_hash_t **changed_paths2_p, svn_fs_root_t *root, apr_pool_t *pool)
Determine what has changed under a root.
svn_checksum_kind_t
Various types of checksums.
svn_error_t * svn_fs_history_prev(svn_fs_history_t **prev_history_p, svn_fs_history_t *history, svn_boolean_t cross_copies, apr_pool_t *pool)
Set *prev_history_p to an opaque node history object which represents the previous (or "next oldest")...
svn_error_t * svn_fs_change_txn_props(svn_fs_txn_t *txn, const apr_array_header_t *props, apr_pool_t *pool)
Change, add, and/or delete transaction property values in transaction txn.
svn_error_t * svn_fs_open(svn_fs_t **fs_p, const char *path, apr_hash_t *fs_config, apr_pool_t *pool)
Open a Subversion filesystem located in the directory path, and return a pointer to it in *fs_p...
The type of a Subversion directory entry.
const char * svn_fs_txn_root_name(svn_fs_root_t *root, apr_pool_t *pool)
If root is the root of a transaction, return the name of the transaction, allocated in pool; otherwis...
svn_error_t *(* svn_fs_get_locks_callback_t)(void *baton, svn_lock_t *lock, apr_pool_t *pool)
The type of a lock discovery callback function.
svn_error_t * svn_fs_node_created_rev(svn_revnum_t *revision, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *revision to the revision in which path under root was created.
svn_fs_path_change_kind_t change_kind
kind of change
svn_error_t * svn_fs_get_mergeinfo2(svn_mergeinfo_catalog_t *catalog, svn_fs_root_t *root, const apr_array_header_t *paths, svn_mergeinfo_inheritance_t inherit, svn_boolean_t include_descendants, svn_boolean_t adjust_inherited_mergeinfo, apr_pool_t *result_pool, apr_pool_t *scratch_pool)
Retrieve mergeinfo for multiple nodes.
svn_error_t * svn_fs_open_berkeley(svn_fs_t *fs, const char *path)
svn_error_t * svn_fs_node_id(const svn_fs_id_t **id_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Get the id of a node.
svn_error_t * svn_fs_lock(svn_lock_t **lock, svn_fs_t *fs, 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)
A lock represents one user's exclusive right to modify a path in a filesystem.
General file I/O for Subversion.
Subversion checksum routines.
svn_boolean_t svn_fs_is_revision_root(svn_fs_root_t *root)
Return TRUE iff root is a revision root.
svn_error_t * svn_fs_set_uuid(svn_fs_t *fs, const char *uuid, apr_pool_t *pool)
If not NULL, associate *uuid with fs.
const svn_fs_id_t * id
The node revision ID it names.
svn_error_t * svn_fs_paths_changed(apr_hash_t **changed_paths_p, svn_fs_root_t *root, apr_pool_t *pool)
Same as svn_fs_paths_changed2(), only with svn_fs_path_change_t * values in the hash (and thus no kin...
svn_error_t * svn_fs_revision_prop(svn_string_t **value_p, svn_fs_t *fs, svn_revnum_t rev, const char *propname, apr_pool_t *pool)
Set *value_p to the value of the property named propname on revision rev in the filesystem fs...
svn_revnum_t svn_fs_revision_root_revision(svn_fs_root_t *root)
If root is the root of a revision, return the revision number.
svn_error_t * svn_fs_print_modules(svn_stringbuf_t *output, apr_pool_t *pool)
Append a textual list of all available FS modules to the stringbuf output.
void svn_fs_close_root(svn_fs_root_t *root)
Free the root directory root; this only needs to be used if you want to free the memory associated wi...
svn_error_t * svn_fs_txn_name(const char **name_p, svn_fs_txn_t *txn, apr_pool_t *pool)
Set *name_p to the name of the transaction txn, as a NULL-terminated string.
svn_boolean_t text_mod
were there text mods?
svn_error_t * svn_fs_make_file(svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Create a new file named path in root.
svn_error_t * svn_fs_begin_txn2(svn_fs_txn_t **txn_p, svn_fs_t *fs, svn_revnum_t rev, apr_uint32_t flags, apr_pool_t *pool)
Begin a new transaction on the filesystem fs, based on existing revision rev.
svn_error_t * svn_fs_initialize(apr_pool_t *pool)
Callers should invoke this function to initialize global state in the FS library before creating FS o...
svn_error_t * svn_fs_access_add_lock_token2(svn_fs_access_t *access_ctx, const char *path, const char *token)
Push a lock-token token associated with path path into the context access_ctx.
svn_boolean_t prop_mod
were there property mods?
svn_mergeinfo_inheritance_t
The three ways to request mergeinfo affecting a given path.
svn_revnum_t svn_fs_txn_root_base_revision(svn_fs_root_t *root)
If root is the root of a transaction, return the number of the revision on which is was based when cr...
svn_error_t * svn_fs_berkeley_recover(const char *path, apr_pool_t *pool)
svn_error_t * svn_fs_revision_link(svn_fs_root_t *from_root, svn_fs_root_t *to_root, const char *path, apr_pool_t *pool)
Like svn_fs_copy(), but doesn't record copy history, and preserves the PATH.
svn_error_t * svn_fs_node_history(svn_fs_history_t **history_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *history_p to an opaque node history object which represents path under root. ...
svn_error_t * svn_fs_history_location(const char **path, svn_revnum_t *revision, svn_fs_history_t *history, apr_pool_t *pool)
Set *path and *revision to the path and revision, respectively, of the history object.
svn_fs_t * svn_fs_new(apr_hash_t *fs_config, apr_pool_t *pool)
A lock object, for client & server to share.
svn_fs_path_change2_t * svn_fs_path_change2_create(const svn_fs_id_t *node_rev_id, svn_fs_path_change_kind_t change_kind, apr_pool_t *pool)
Allocate an svn_fs_path_change2_t structure in pool, initialize and return it.
svn_error_t * svn_fs_open_txn(svn_fs_txn_t **txn, svn_fs_t *fs, const char *name, apr_pool_t *pool)
Open the transaction named name in the filesystem fs.
svn_node_kind_t
The various types of nodes in the Subversion filesystem.
svn_boolean_t prop_mod
were there property mods?
svn_error_t * svn_fs_copy(svn_fs_root_t *from_root, const char *from_path, svn_fs_root_t *to_root, const char *to_path, apr_pool_t *pool)
Create a copy of from_path in from_root named to_path in to_root.
svn_error_t * svn_fs_txn_prop(svn_string_t **value_p, svn_fs_txn_t *txn, const char *propname, apr_pool_t *pool)
Set *value_p to the value of the property named propname on transaction txn.
svn_error_t * svn_fs_merge(const char **conflict_p, svn_fs_root_t *source_root, const char *source_path, svn_fs_root_t *target_root, const char *target_path, svn_fs_root_t *ancestor_root, const char *ancestor_path, apr_pool_t *pool)
Merge changes between two nodes into a third node.
svn_error_t * svn_fs_contents_changed(svn_boolean_t *changed_p, svn_fs_root_t *root1, const char *path1, svn_fs_root_t *root2, const char *path2, apr_pool_t *pool)
Check if the contents of two root/path combos have changed.
void(* svn_fs_progress_notify_func_t)(svn_revnum_t revision, void *baton, apr_pool_t *pool)
Callback function type for progress notification.
svn_error_t * svn_fs_change_rev_prop2(svn_fs_t *fs, svn_revnum_t rev, const char *name, const svn_string_t *const *old_value_p, const svn_string_t *value, apr_pool_t *pool)
Change a revision's property's value, or add/delete a property.
apr_hash_t * svn_fs_config(svn_fs_t *fs, apr_pool_t *pool)
Return a shallow copy of the configuration parameters used to open fs, allocated in pool...
svn_error_t * svn_fs_change_rev_prop(svn_fs_t *fs, svn_revnum_t rev, const char *name, const svn_string_t *value, apr_pool_t *pool)
Similar to svn_fs_change_rev_prop2(), but with old_value_p passed as NULL.
svn_boolean_t svn_fs_check_related(const svn_fs_id_t *id1, const svn_fs_id_t *id2)
Return TRUE if node revisions id1 and id2 are related (part of the same node), else return FALSE...
svn_error_t * svn_fs_berkeley_logfiles(apr_array_header_t **logfiles, const char *path, svn_boolean_t only_unused, apr_pool_t *pool)
Set *logfiles to an array of const char * log file names of Berkeley DB-based Subversion filesystem...
svn_error_t * svn_fs_list_transactions(apr_array_header_t **names_p, svn_fs_t *fs, apr_pool_t *pool)
Set *names_p to an array of const char * ids which are the names of all the currently active transact...
svn_error_t * svn_fs_is_dir(svn_boolean_t *is_dir, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *is_dir to TRUE iff path in root is a directory.
svn_boolean_t copyfrom_known
Copyfrom revision and path; this is only valid if copyfrom_known is true.
struct svn_txdelta_stream_t svn_txdelta_stream_t
A delta stream — this is the hat from which we pull a series of svn_txdelta_window_t objects...
apr_int64_t svn_filesize_t
The size of a file in the Subversion FS.
struct svn_fs_dirent_t svn_fs_dirent_t
The type of a Subversion directory entry.
svn_error_t * svn_fs_txn_root(svn_fs_root_t **root_p, svn_fs_txn_t *txn, apr_pool_t *pool)
Set *root_p to the root directory of txn.
struct svn_fs_access_t svn_fs_access_t
An opaque object representing temporary user data.
void svn_fs_set_warning_func(svn_fs_t *fs, svn_fs_warning_callback_t warning, void *warning_baton)
Provide a callback function, warning, that fs should use to report (non-fatal) errors.
svn_error_t * svn_fs_commit_txn(const char **conflict_p, svn_revnum_t *new_rev, svn_fs_txn_t *txn, apr_pool_t *pool)
Commit txn.
packing of the shard revprops has completed
svn_fs_path_change_kind_t change_kind
kind of change
svn_error_t * svn_fs_apply_text(svn_stream_t **contents_p, svn_fs_root_t *root, const char *path, const char *result_checksum, apr_pool_t *pool)
Write data directly to the file path in root.
const svn_version_t * svn_fs_version(void)
Get libsvn_fs version information.
int svn_fs_compare_ids(const svn_fs_id_t *a, const svn_fs_id_t *b)
Return -1, 0, or 1 if node revisions a and b are respectively unrelated, equivalent, or otherwise related (part of the same node).
svn_error_t * svn_fs_get_uuid(svn_fs_t *fs, const char **uuid, apr_pool_t *pool)
Populate *uuid with the UUID associated with fs.
svn_error_t *(* svn_fs_freeze_func_t)(void *baton, apr_pool_t *pool)
Callback for svn_fs_freeze().
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_fs_props_changed(svn_boolean_t *changed_p, svn_fs_root_t *root1, const char *path1, svn_fs_root_t *root2, const char *path2, apr_pool_t *pool)
Determine if the properties of two path/root combinations are different.
svn_error_t * svn_fs_check_path(svn_node_kind_t *kind_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *kind_p to the type of node present at path under root.
svn_fs_pack_notify_action_t
The kind of action being taken by 'pack'.
svn_error_t * svn_fs_file_md5_checksum(unsigned char digest[], svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Same as svn_fs_file_checksum(), only always put the MD5 checksum of file path into digest...
svn_error_t * svn_fs_change_txn_prop(svn_fs_txn_t *txn, const char *name, const svn_string_t *value, apr_pool_t *pool)
Change a transactions txn's property's value, or add/delete a property.
svn_revnum_t svn_fs_txn_base_revision(svn_fs_txn_t *txn)
Return txn's base revision.
svn_error_t * svn_fs_create(svn_fs_t **fs_p, const char *path, apr_hash_t *fs_config, apr_pool_t *pool)
Create a new, empty Subversion filesystem, stored in the directory path, and return a pointer to it i...
struct svn_fs_t svn_fs_t
An object representing a Subversion filesystem.
svn_error_t * svn_fs_youngest_rev(svn_revnum_t *youngest_p, svn_fs_t *fs, apr_pool_t *pool)
Set *youngest_p to the number of the youngest revision in filesystem fs.
svn_fs_path_change_kind_t
The kind of change that occurred on the path.
const char * svn_fs_path(svn_fs_t *fs, apr_pool_t *pool)
Return the path to fs's repository, allocated in pool.
svn_fs_id_t * svn_fs_parse_id(const char *data, apr_size_t len, apr_pool_t *pool)
path removed and re-added in txn
svn_string_t * svn_fs_unparse_id(const svn_fs_id_t *id, apr_pool_t *pool)
Return a Subversion string containing the unparsed form of the node revision id id.
svn_error_t * svn_fs_get_locks2(svn_fs_t *fs, const char *path, svn_depth_t depth, svn_fs_get_locks_callback_t get_locks_func, void *get_locks_baton, apr_pool_t *pool)
Report locks on or below path in fs using the get_locks_func / get_locks_baton.
svn_error_t * svn_fs_try_process_file_contents(svn_boolean_t *success, svn_fs_root_t *root, const char *path, svn_fs_process_contents_func_t processor, void *baton, apr_pool_t *pool)
Efficiently deliver the contents of the file path in root via processor (with baton), setting *success to TRUE upon doing so.
svn_error_t * svn_fs_file_length(svn_filesize_t *length_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *length_p to the length of the file path in root, in bytes.
svn_error_t * svn_fs_access_get_username(const char **username, svn_fs_access_t *access_ctx)
Accessors for the access context:
packing of the shard revprops has commenced
struct svn_stream_t svn_stream_t
An abstract stream of bytes–either incoming or outgoing or both.
struct svn_fs_history_t svn_fs_history_t
An opaque node history object.
packing of the shard is completed
Subversion's data types.
svn_error_t * svn_fs_node_prop(svn_string_t **value_p, svn_fs_root_t *root, const char *path, const char *propname, apr_pool_t *pool)
Set *value_p to the value of the property named propname of path in root.
svn_error_t *(* svn_fs_process_contents_func_t)(const unsigned char *contents, apr_size_t len, void *baton, apr_pool_t *scratch_pool)
Callback function type used with svn_fs_try_process_file_contents() that delivers the immutable...
svn_error_t * svn_fs_recover(const char *path, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Perform any necessary non-catastrophic recovery on the Subversion filesystem located at path...
svn_error_t * svn_fs_closest_copy(svn_fs_root_t **root_p, const char **path_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *root_p and *path_p to the revision root and path of the destination of the most recent copy even...
A generic checksum representation.
svn_error_t * svn_fs_change_node_prop(svn_fs_root_t *root, const char *path, const char *name, const svn_string_t *value, apr_pool_t *pool)
Change a node's property's value, or add/delete a property.
svn_error_t * svn_fs_deltify_revision(svn_fs_t *fs, svn_revnum_t revision, apr_pool_t *pool)
Provide filesystem fs the opportunity to compress storage relating to associated with revision in fil...
svn_error_t * svn_fs_make_dir(svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Create a new directory named path in root.
svn_error_t * svn_fs_create_berkeley(svn_fs_t *fs, const char *path)
svn_error_t * svn_fs_hotcopy(const char *src_path, const char *dest_path, svn_boolean_t clean, apr_pool_t *pool)
Like svn_fs_hotcopy2(), but with incremental always passed as TRUE and without cancellation support...
#define SVN_DEPRECATED
Macro used to mark deprecated functions.
svn_error_t * svn_fs_revision_proplist(apr_hash_t **table_p, svn_fs_t *fs, svn_revnum_t rev, apr_pool_t *pool)
Set *table_p to the entire property list of revision rev in filesystem fs, as an APR hash table alloc...
svn_error_t * svn_fs_copied_from(svn_revnum_t *rev_p, const char **path_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Discover a node's copy ancestry, if any.
svn_error_t * svn_fs_pack(const char *db_path, svn_fs_pack_notify_t notify_func, void *notify_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool)
Possibly update the filesystem located in the directory path to use disk space more efficiently...
svn_error_t * svn_fs_file_contents(svn_stream_t **contents, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *contents to a readable generic stream that will yield the contents of the file path in root...
svn_boolean_t svn_fs_is_txn_root(svn_fs_root_t *root)
Return TRUE iff root is a transaction root.
const char * name
The name of this directory entry.
svn_error_t * svn_fs_node_proplist(apr_hash_t **table_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *table_p to the entire property list of path in root, as an APR hash table allocated in pool...
svn_error_t * svn_fs_delete(svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Delete the node named path in root.
svn_error_t * svn_fs_delete_berkeley(const char *path, apr_pool_t *pool)
svn_error_t * svn_fs_hotcopy_berkeley(const char *src_path, const char *dest_path, svn_boolean_t clean_logs, apr_pool_t *pool)
svn_error_t * svn_fs_generate_lock_token(const char **token, svn_fs_t *fs, apr_pool_t *pool)
Generate a unique lock-token using fs.
svn_error_t * svn_fs_purge_txn(svn_fs_t *fs, const char *txn_id, apr_pool_t *pool)
Cleanup the dead transaction in fs whose ID is txn_id.
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_fs_get_locks(svn_fs_t *fs, const char *path, svn_fs_get_locks_callback_t get_locks_func, void *get_locks_baton, apr_pool_t *pool)
Similar to svn_fs_get_locks2(), but with depth always passed as svn_depth_infinity, and with the following known problem (which is not present in svn_fs_get_locks2()):
struct svn_fs_txn_t svn_fs_txn_t
The type of a Subversion transaction object.
svn_error_t * svn_fs_revision_root(svn_fs_root_t **root_p, svn_fs_t *fs, svn_revnum_t rev, apr_pool_t *pool)
Set *root_p to the root directory of revision rev in filesystem fs.
svn_error_t * svn_fs_create_access(svn_fs_access_t **access_ctx, const char *username, apr_pool_t *pool)
Set *access_ctx to a new svn_fs_access_t object representing username, allocated in pool...
struct svn_fs_root_t svn_fs_root_t
The Filesystem Root object.
struct svn_fs_path_change_t svn_fs_path_change_t
Similar to svn_fs_path_change2_t, but without kind and copyfrom information.
svn_error_t * svn_fs_node_created_path(const char **created_path, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *created_path to the path at which path under root was created.
svn_boolean_t text_mod
were there text mods?
svn_error_t * svn_fs_get_lock(svn_lock_t **lock, svn_fs_t *fs, const char *path, apr_pool_t *pool)
If path is locked in fs, set *lock to an svn_lock_t which represents the lock, allocated in pool...
svn_node_kind_t node_kind
what node kind is the path? (Note: it is legal for this to be svn_node_unknown.)
packing of the shard has commenced
svn_error_t * svn_fs_upgrade(const char *path, apr_pool_t *pool)
Upgrade the Subversion filesystem located in the directory path to the latest version supported by th...
svn_error_t * svn_fs_hotcopy2(const char *src_path, const char *dest_path, svn_boolean_t clean, svn_boolean_t incremental, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *scratch_pool)
Copy a possibly live Subversion filesystem from src_path to dest_path.
const svn_fs_id_t * node_rev_id
node revision id of changed path
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.
struct svn_fs_path_change2_t svn_fs_path_change2_t
Change descriptor.
int svn_boolean_t
YABT: Yet Another Boolean Type.
const svn_fs_id_t * node_rev_id
node revision id of changed path
svn_error_t * svn_fs_apply_textdelta(svn_txdelta_window_handler_t *contents_p, void **contents_baton_p, svn_fs_root_t *root, const char *path, const char *base_checksum, const char *result_checksum, apr_pool_t *pool)
Apply a text delta to the file path in root.
const char * svn_fs_berkeley_path(svn_fs_t *fs, apr_pool_t *pool)
svn_error_t * svn_fs_verify_root(svn_fs_root_t *root, apr_pool_t *scratch_pool)
Perform backend-specific data consistency and correctness validations of root in the Subversion files...
svn_error_t * svn_fs_node_origin_rev(svn_revnum_t *revision, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *revision to the revision in which the line of history represented by path under root originated...
mergeinfo handling and processing
svn_error_t * svn_fs_abort_txn(svn_fs_txn_t *txn, apr_pool_t *pool)
Abort the transaction txn.
svn_error_t * svn_fs_get_file_delta_stream(svn_txdelta_stream_t **stream_p, svn_fs_root_t *source_root, const char *source_path, svn_fs_root_t *target_root, const char *target_path, apr_pool_t *pool)
Set *stream_p to a pointer to a delta stream that will turn the contents of the file source into the ...
struct svn_fs_id_t svn_fs_id_t
An object representing a node-revision id.
svn_node_kind_t kind
The node kind.
svn_error_t * svn_fs_access_add_lock_token(svn_fs_access_t *access_ctx, const char *token)
Same as svn_fs_access_add_lock_token2(), but with path set to value 1.
svn_error_t * svn_fs_type(const char **fs_type, const char *path, apr_pool_t *pool)
Return, in *fs_type, a string identifying the back-end type of the Subversion filesystem located in p...
A buffered string, capable of appending without an allocation and copy for each append.
Similar to svn_fs_path_change2_t, but without kind and copyfrom information.
svn_fs_t * svn_fs_root_fs(svn_fs_root_t *root)
Return the filesystem to which root belongs.
void(* svn_fs_warning_callback_t)(void *baton, svn_error_t *err)
The type of a warning callback function.
svn_error_t * svn_fs_file_checksum(svn_checksum_t **checksum, svn_checksum_kind_t kind, svn_fs_root_t *root, const char *path, svn_boolean_t force, apr_pool_t *pool)
Set *checksum to the checksum of type kind for the file path.
svn_error_t * svn_fs_dir_entries(apr_hash_t **entries_p, svn_fs_root_t *root, const char *path, apr_pool_t *pool)
Set *entries_p to a newly allocated APR hash table containing the entries of the directory at path in...
svn_error_t * svn_fs_unlock(svn_fs_t *fs, const char *path, const char *token, svn_boolean_t break_lock, apr_pool_t *pool)
Remove the lock on path represented by token in fs.