diff options
Diffstat (limited to 'subversion/svnrdump/svnrdump.h')
-rw-r--r-- | subversion/svnrdump/svnrdump.h | 43 |
1 files changed, 40 insertions, 3 deletions
diff --git a/subversion/svnrdump/svnrdump.h b/subversion/svnrdump/svnrdump.h index 1febb5a..2a81014 100644 --- a/subversion/svnrdump/svnrdump.h +++ b/subversion/svnrdump/svnrdump.h @@ -32,6 +32,8 @@ #include "svn_delta.h" #include "svn_ra.h" +#include "private/svn_editor.h" + #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ @@ -39,18 +41,39 @@ extern "C" { /** * Get a dump editor @a editor along with a @a edit_baton allocated in - * @a pool. The editor will write output to @a stream. Use @a - * cancel_func and @a cancel_baton to check for user cancellation of - * the operation (for timely-but-safe termination). + * @a pool. The editor will write output to @a stream. + * + * @a update_anchor_relpath is the repository relative path of the + * anchor of the update-style drive which will happen on @a *editor; + * if a replay-style drive will instead be used, it should be passed + * as @c NULL. + * + * Use @a cancel_func and @a cancel_baton to check for user + * cancellation of the operation (for timely-but-safe termination). */ svn_error_t * svn_rdump__get_dump_editor(const svn_delta_editor_t **editor, void **edit_baton, + svn_revnum_t revision, svn_stream_t *stream, + svn_ra_session_t *ra_session, + const char *update_anchor_relpath, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *pool); +/* Same as above, only returns an Ev2 editor. */ +svn_error_t * +svn_rdump__get_dump_editor_v2(svn_editor_t **editor, + svn_revnum_t revision, + svn_stream_t *stream, + svn_ra_session_t *ra_session, + const char *edit_root_relpath, + svn_cancel_func_t cancel_func, + void *cancel_baton, + apr_pool_t *scratch_pool, + apr_pool_t *result_pool); + /** * Load the dumpstream carried in @a stream to the location described @@ -85,6 +108,20 @@ svn_rdump__normalize_props(apr_hash_t **normal_props, apr_hash_t *props, apr_pool_t *result_pool); +/* Normalize the line ending style of a single property that "needs + * translation" (according to svn_prop_needs_translation(), + * currently all svn:* props) so that they contain only LF (\n) line endings. + * "\r" characters found mid-line are replaced with "\n". + * "\r\n" sequences are replaced with "\n" + * + * NAME is used to check that VALUE should be normalized, and if this is the + * case, VALUE is then normalized, allocated from RESULT_POOL + */ +svn_error_t * +svn_rdump__normalize_prop(const char *name, + const svn_string_t **value, + apr_pool_t *result_pool); + #ifdef __cplusplus } #endif /* __cplusplus */ |