summaryrefslogtreecommitdiff
path: root/subversion/svnrdump/svnrdump.h
diff options
context:
space:
mode:
Diffstat (limited to 'subversion/svnrdump/svnrdump.h')
-rw-r--r--subversion/svnrdump/svnrdump.h43
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 */