003 File Manager
Current Path:
/usr/src/contrib/subversion/subversion/include/private
usr
/
src
/
contrib
/
subversion
/
subversion
/
include
/
private
/
📁
..
📄
README
(241 B)
📄
ra_svn_sasl.h
(2.63 KB)
📄
ra_svn_wrapped_sasl.h
(3.89 KB)
📄
svn_adler32.h
(1.47 KB)
📄
svn_atomic.h
(4.83 KB)
📄
svn_auth_private.h
(11.32 KB)
📄
svn_branch.h
(22.98 KB)
📄
svn_branch_compat.h
(10.78 KB)
📄
svn_branch_impl.h
(5.67 KB)
📄
svn_branch_nested.h
(7.55 KB)
📄
svn_branch_repos.h
(3.47 KB)
📄
svn_cache.h
(22.67 KB)
📄
svn_cert.h
(2.27 KB)
📄
svn_client_mtcc.h
(7.8 KB)
📄
svn_client_private.h
(22.85 KB)
📄
svn_client_shelf.h
(16.26 KB)
📄
svn_client_shelf2.h
(15.27 KB)
📄
svn_cmdline_private.h
(10.52 KB)
📄
svn_config_private.h
(4.26 KB)
📄
svn_dav_protocol.h
(2.56 KB)
📄
svn_debug.h
(3.35 KB)
📄
svn_delta_private.h
(4.91 KB)
📄
svn_dep_compat.h
(6.64 KB)
📄
svn_diff_private.h
(6 KB)
📄
svn_diff_tree.h
(14.32 KB)
📄
svn_dirent_uri_private.h
(1.85 KB)
📄
svn_doxygen.h
(1.27 KB)
📄
svn_editor.h
(43.09 KB)
📄
svn_element.h
(12.83 KB)
📄
svn_eol_private.h
(3.18 KB)
📄
svn_error_private.h
(1.67 KB)
📄
svn_fs_fs_private.h
(11.08 KB)
📄
svn_fs_private.h
(8.36 KB)
📄
svn_fs_util.h
(11.11 KB)
📄
svn_fspath.h
(5.36 KB)
📄
svn_io_private.h
(6.47 KB)
📄
svn_log.h
(6.96 KB)
📄
svn_magic.h
(2.36 KB)
📄
svn_mergeinfo_private.h
(12.71 KB)
📄
svn_mutex.h
(4.3 KB)
📄
svn_object_pool.h
(4.53 KB)
📄
svn_opt_private.h
(5.73 KB)
📄
svn_packed_data.h
(9.39 KB)
📄
svn_ra_private.h
(12.07 KB)
📄
svn_ra_svn_private.h
(38.63 KB)
📄
svn_repos_private.h
(15.45 KB)
📄
svn_skel.h
(8.46 KB)
📄
svn_sorts_private.h
(7.66 KB)
📄
svn_sqlite.h
(23.22 KB)
📄
svn_string_private.h
(11.05 KB)
📄
svn_subr_private.h
(24.43 KB)
📄
svn_temp_serializer.h
(8.75 KB)
📄
svn_token.h
(3.11 KB)
📄
svn_utf_private.h
(11.18 KB)
📄
svn_wc_private.h
(93.26 KB)
Editing: svn_branch_compat.h
/** * @copyright * ==================================================================== * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * ==================================================================== * @endcopyright * * @file svn_branch_compat.h * @brief Compatibility with svn_delta_editor_t etc. * * @since New in ???. */ #ifndef SVN_BRANCH_COMPAT_H #define SVN_BRANCH_COMPAT_H #include <apr_pools.h> #include "svn_types.h" #include "svn_error.h" #include "svn_delta.h" #include "svn_ra.h" #include "private/svn_branch.h" #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /** Callback to retrieve a node's kind and content. This is * needed by the various editor shims in order to effect backwards * compatibility. * * Implementations should set @a *kind to the node kind of @a repos_relpath * in @a revision. * * Implementations should set @a *props to the hash of properties * associated with @a repos_relpath in @a revision, allocating that hash * and its contents in @a result_pool. Only the 'regular' props should be * included, not special props such as 'entry props'. * * Implementations should set @a *filename to the name of a file * suitable for use as a delta base for @a repos_relpath in @a revision * (allocating @a *filename from @a result_pool), or to @c NULL if the * base stream is empty. * * Any output argument may be NULL if the output is not wanted. * * @a baton is an implementation-specific closure. * @a repos_relpath is relative to the repository root. * The implementation should ensure that @a new_content, including any * file therein, lives at least for the life time of @a result_pool. * @a scratch_pool is provided for temporary allocations. */ typedef svn_error_t *(*svn_branch__compat_fetch_func_t)( svn_node_kind_t *kind, apr_hash_t **props, svn_stringbuf_t **file_text, apr_hash_t **children_names, void *baton, const char *repos_relpath, svn_revnum_t revision, apr_pool_t *result_pool, apr_pool_t *scratch_pool ); /* */ svn_error_t * svn_branch__compat_fetch(svn_element__payload_t **payload_p, svn_branch__txn_t *txn, svn_element__branch_ref_t branch_ref, svn_branch__compat_fetch_func_t fetch_func, void *fetch_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool); /* An object for communicating out-of-band details between an Ev1-to-Ev3 * shim and an Ev3-to-Ev1 shim. */ typedef struct svn_branch__compat_shim_connector_t svn_branch__compat_shim_connector_t; /* Return an Ev3 editor in *EDITOR_P which will drive the Ev1 delta * editor DEDITOR/DEDIT_BATON. * * This editor buffers all the changes and then drives the Ev1 when the * returned editor's "close" method is called. * * This editor converts moves into copy-and-delete. It presently makes a * one-way (lossy) conversion. * * TODO: Option to pass the 'move' information through as some sort of * metadata so that it can be preserved in an Ev3-Ev1-Ev3 round-trip * conversion. * - Use 'entry-props'? * - Send copy-and-delete with copy-from-rev = -1? * * This editor implements the "independent per-element changes" variant * of the Ev3 commit editor interface. * * Use *BRANCHING_TXN as the branching state info ... * * SHIM_CONNECTOR can be used to enable a more exact round-trip conversion * from an Ev1 drive to Ev3 and back to Ev1. The caller should pass the * returned *SHIM_CONNECTOR value to svn_delta__delta_from_ev3_for_commit(). * SHIM_CONNECTOR may be null if not wanted. * * REPOS_ROOT_URL is the repository root URL. * * FETCH_FUNC/FETCH_BATON is a callback by which the shim may retrieve the * original or copy-from kind/properties/text for a path being committed. * * CANCEL_FUNC / CANCEL_BATON: The usual cancellation callback; folded * into the produced editor. May be NULL/NULL if not wanted. * * Allocate the new editor in RESULT_POOL, which may become large and must * live for the lifetime of the edit. Use SCRATCH_POOL for temporary * allocations. */ svn_error_t * svn_branch__compat_txn_from_delta_for_commit( svn_branch__txn_t **txn_p, svn_branch__compat_shim_connector_t **shim_connector, const svn_delta_editor_t *deditor, void *dedit_baton, svn_branch__txn_t *branching_txn, const char *repos_root_url, svn_branch__compat_fetch_func_t fetch_func, void *fetch_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool); /* Return a delta editor in DEDITOR/DEDITOR_BATON which will drive EDITOR. * * REPOS_ROOT_URL is the repository root URL, and BASE_RELPATH is the * relative path within the repository of the root directory of the edit. * (An Ev1 edit must be rooted at a directory, not at a file.) * * FETCH_FUNC/FETCH_BATON is a callback by which the shim may retrieve the * original or copy-from kind/properties/text for a path being committed. * * SHIM_CONNECTOR can be used to enable a more exact round-trip conversion * from an Ev1 drive to Ev3 and back to Ev1. It must live for the lifetime * of the edit. It may be null if not wanted. * * Allocate the new editor in RESULT_POOL, which may become large and must * live for the lifetime of the edit. Use SCRATCH_POOL for temporary * allocations. */ svn_error_t * svn_branch__compat_delta_from_txn_for_commit( const svn_delta_editor_t **deditor, void **dedit_baton, svn_branch__txn_t *edit_txn, const char *repos_root_url, const char *base_relpath, svn_branch__compat_fetch_func_t fetch_func, void *fetch_baton, const svn_branch__compat_shim_connector_t *shim_connector, apr_pool_t *result_pool, apr_pool_t *scratch_pool); /* Return in NEW_DEDITOR/NEW_DETIT_BATON a delta editor that wraps * OLD_DEDITOR/OLD_DEDIT_BATON, inserting a pair of shims that convert * Ev1 to Ev3 and back to Ev1. * * REPOS_ROOT_URL is the repository root URL, and BASE_RELPATH is the * relative path within the repository of the root directory of the edit. * * FETCH_FUNC/FETCH_BATON is a callback by which the shim may retrieve the * original or copy-from kind/properties/text for a path being committed. */ svn_error_t * svn_branch__compat_insert_shims( const svn_delta_editor_t **new_deditor, void **new_dedit_baton, const svn_delta_editor_t *old_deditor, void *old_dedit_baton, const char *repos_root, const char *base_relpath, svn_branch__compat_fetch_func_t fetch_func, void *fetch_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool); /* A callback for declaring the target revision of an update or switch. */ typedef svn_error_t *(*svn_branch__compat_set_target_revision_func_t)( void *baton, svn_revnum_t target_revision, apr_pool_t *scratch_pool); /* An update (or switch) editor. * * This consists of a plain Ev3 editor and the additional methods or * resources needed for use as an update or switch editor. */ typedef struct svn_branch__compat_update_editor3_t { /* The txn we're driving. */ svn_branch__txn_t *edit_txn; /* A method to communicate the target revision of the update (or switch), * to be called before driving the editor. It has its own baton, rather * than using the editor's baton, so that the editor can be replaced (by * a wrapper editor, typically) without having to wrap this callback. */ svn_branch__compat_set_target_revision_func_t set_target_revision_func; void *set_target_revision_baton; } svn_branch__compat_update_editor3_t; /* Like svn_delta__ev3_from_delta_for_commit() but for an update editor. */ svn_error_t * svn_branch__compat_txn_from_delta_for_update( svn_branch__compat_update_editor3_t **editor_p, const svn_delta_editor_t *deditor, void *dedit_baton, svn_branch__txn_t *branching_txn, const char *repos_root_url, const char *base_repos_relpath, svn_branch__compat_fetch_func_t fetch_func, void *fetch_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool); /* Like svn_delta__delta_from_ev3_for_commit() but for an update editor. */ svn_error_t * svn_branch__compat_delta_from_txn_for_update( const svn_delta_editor_t **deditor, void **dedit_baton, svn_branch__compat_update_editor3_t *update_editor, const char *repos_root_url, const char *base_repos_relpath, svn_branch__compat_fetch_func_t fetch_func, void *fetch_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool); /* An Ev1 editor that drives (heuristically) a move-tracking editor. */ svn_error_t * svn_branch__compat_get_migration_editor( const svn_delta_editor_t **old_editor, void **old_edit_baton, svn_branch__txn_t *edit_txn, svn_ra_session_t *from_session, svn_revnum_t revision, apr_pool_t *result_pool); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* SVN_BRANCH_COMPAT_H */
Upload File
Create Folder