diff options
author | Peter Wemm <peter@FreeBSD.org> | 2018-05-08 03:44:38 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2018-05-08 03:44:38 +0000 |
commit | 3faf8d6bffc5d0fb2525ba37bb504c53366caf9d (patch) | |
tree | 7e47911263e75034b767fe34b2f8d3d17e91f66d /subversion/libsvn_fs/deprecated.c | |
parent | a55fb3c0d5eca7d887798125d5b95942b1f01d4b (diff) |
Diffstat (limited to 'subversion/libsvn_fs/deprecated.c')
-rw-r--r-- | subversion/libsvn_fs/deprecated.c | 157 |
1 files changed, 157 insertions, 0 deletions
diff --git a/subversion/libsvn_fs/deprecated.c b/subversion/libsvn_fs/deprecated.c index 03045773f5201..0e741c273c587 100644 --- a/subversion/libsvn_fs/deprecated.c +++ b/subversion/libsvn_fs/deprecated.c @@ -26,7 +26,9 @@ deprecated functions in this file. */ #define SVN_DEPRECATED +#include <apr_md5.h> #include "svn_fs.h" +#include "private/svn_subr_private.h" /*** From fs-loader.c ***/ @@ -64,6 +66,28 @@ svn_fs_begin_txn(svn_fs_txn_t **txn_p, svn_fs_t *fs, svn_revnum_t rev, } 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) +{ + return svn_error_trace( + svn_fs_revision_prop2(value_p, fs, rev, propname, TRUE, pool, + pool)); +} + +svn_error_t * +svn_fs_revision_proplist(apr_hash_t **table_p, + svn_fs_t *fs, + svn_revnum_t rev, + apr_pool_t *pool) +{ + return svn_error_trace( + svn_fs_revision_proplist2(table_p, fs, rev, TRUE, pool, 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) { @@ -81,6 +105,139 @@ svn_fs_get_locks(svn_fs_t *fs, const char *path, pool)); } +svn_error_t * +svn_fs_create(svn_fs_t **fs_p, + const char *path, + apr_hash_t *fs_config, + apr_pool_t *pool) +{ + return svn_fs_create2(fs_p, path, fs_config, pool, pool); +} + +svn_error_t * +svn_fs_open(svn_fs_t **fs_p, + const char *path, + apr_hash_t *fs_config, + apr_pool_t *pool) +{ + return svn_fs_open2(fs_p, path, fs_config, pool, pool); +} + +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) +{ + return svn_error_trace(svn_fs_node_history2(history_p, root, path, + pool, pool)); +} + +static svn_error_t * +mergeinfo_receiver(const char *path, + svn_mergeinfo_t mergeinfo, + void *baton, + apr_pool_t *scratch_pool) +{ + svn_mergeinfo_catalog_t catalog = baton; + apr_pool_t *result_pool = apr_hash_pool_get(catalog); + apr_size_t len = strlen(path); + + apr_hash_set(catalog, + apr_pstrmemdup(result_pool, path, len), + len, + svn_mergeinfo_dup(mergeinfo, result_pool)); + + return SVN_NO_ERROR; +} + +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) +{ + svn_mergeinfo_catalog_t result_catalog = svn_hash__make(result_pool); + SVN_ERR(svn_fs_get_mergeinfo3(root, paths, inherit, + include_descendants, + adjust_inherited_mergeinfo, + mergeinfo_receiver, result_catalog, + scratch_pool)); + *catalog = result_catalog; + + return SVN_NO_ERROR; +} + +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) +{ + return svn_error_trace(svn_fs_get_mergeinfo2(catalog, root, paths, + inherit, + include_descendants, + TRUE, pool, pool)); +} + +svn_error_t * +svn_fs_paths_changed(apr_hash_t **changed_paths_p, svn_fs_root_t *root, + apr_pool_t *pool) +{ + apr_hash_t *changed_paths_new_structs; + apr_hash_index_t *hi; + + SVN_ERR(svn_fs_paths_changed2(&changed_paths_new_structs, root, pool)); + *changed_paths_p = apr_hash_make(pool); + for (hi = apr_hash_first(pool, changed_paths_new_structs); + hi; + hi = apr_hash_next(hi)) + { + const void *vkey; + apr_ssize_t klen; + void *vval; + svn_fs_path_change2_t *val; + svn_fs_path_change_t *change; + apr_hash_this(hi, &vkey, &klen, &vval); + val = vval; + change = apr_palloc(pool, sizeof(*change)); + change->node_rev_id = val->node_rev_id; + change->change_kind = val->change_kind; + change->text_mod = val->text_mod; + change->prop_mod = val->prop_mod; + apr_hash_set(*changed_paths_p, vkey, klen, change); + } + return SVN_NO_ERROR; +} + +svn_error_t * +svn_fs_file_md5_checksum(unsigned char digest[], + svn_fs_root_t *root, + const char *path, + apr_pool_t *pool) +{ + svn_checksum_t *md5sum; + + SVN_ERR(svn_fs_file_checksum(&md5sum, svn_checksum_md5, root, path, TRUE, + pool)); + memcpy(digest, md5sum->digest, APR_MD5_DIGESTSIZE); + + return SVN_NO_ERROR; +} + +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) +{ + return svn_error_trace(svn_fs_history_prev2(prev_history_p, history, + cross_copies, pool, pool)); +} + /*** From access.c ***/ svn_error_t * svn_fs_access_add_lock_token(svn_fs_access_t *access_ctx, |