You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/04/15 16:52:34 UTC
svn commit: r1092728 - in /subversion/trunk/subversion/svnrdump:
load_editor.c load_editor.h svnrdump.c svnrdump.h
Author: hwright
Date: Fri Apr 15 14:52:33 2011
New Revision: 1092728
URL: http://svn.apache.org/viewvc?rev=1092728&view=rev
Log:
Same song, second verse: followup to r1092721 by doing something similar with
the load editor header file.
* subversion/svnrdump/svnrdump.c
(load_revisions): Update caller.
* subversion/svnrdump/svnrdump.h
(svn_rdump__load_dumpstream): New.
* subversion/svnrdump/load_editor.c
(parse_baton, directory_baton, node_baton, revision_baton):
Copied from load_editor.h.
(svn_rdump__load_dumpstream): Renamed from load_dumpstream().
* subversion/svnrdump/load_editor.h:
Remove.
Removed:
subversion/trunk/subversion/svnrdump/load_editor.h
Modified:
subversion/trunk/subversion/svnrdump/load_editor.c
subversion/trunk/subversion/svnrdump/svnrdump.c
subversion/trunk/subversion/svnrdump/svnrdump.h
Modified: subversion/trunk/subversion/svnrdump/load_editor.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svnrdump/load_editor.c?rev=1092728&r1=1092727&r2=1092728&view=diff
==============================================================================
--- subversion/trunk/subversion/svnrdump/load_editor.c (original)
+++ subversion/trunk/subversion/svnrdump/load_editor.c Fri Apr 15 14:52:33 2011
@@ -34,7 +34,7 @@
#include "private/svn_repos_private.h"
#include "private/svn_ra_private.h"
-#include "load_editor.h"
+#include "svnrdump.h"
#define SVNRDUMP_PROP_LOCK SVN_PROP_PREFIX "rdump-lock"
@@ -44,6 +44,71 @@
#define LDR_DBG(x) while(0)
#endif
+
+
+/**
+ * General baton used by the parser functions.
+ */
+struct parse_baton
+{
+ const svn_delta_editor_t *commit_editor;
+ void *commit_edit_baton;
+ svn_ra_session_t *session;
+ svn_ra_session_t *aux_session;
+ const char *uuid;
+ const char *root_url;
+};
+
+/**
+ * Use to wrap the dir_context_t in commit.c so we can keep track of
+ * depth, relpath and parent for open_directory and close_directory.
+ */
+struct directory_baton
+{
+ void *baton;
+ const char *relpath;
+ int depth;
+ struct directory_baton *parent;
+};
+
+/**
+ * Baton used to represent a node; to be used by the parser
+ * functions. Contains a link to the revision baton.
+ */
+struct node_baton
+{
+ const char *path;
+ svn_node_kind_t kind;
+ enum svn_node_action action;
+
+ svn_revnum_t copyfrom_rev;
+ const char *copyfrom_path;
+
+ void *file_baton;
+ const char *base_checksum;
+
+ struct revision_baton *rb;
+};
+
+/**
+ * Baton used to represet a revision; used by the parser
+ * functions. Contains a link to the parser baton.
+ */
+struct revision_baton
+{
+ svn_revnum_t rev;
+ apr_hash_t *revprop_table;
+
+ const svn_string_t *datestamp;
+ const svn_string_t *author;
+
+ struct parse_baton *pb;
+ struct directory_baton *db;
+ apr_pool_t *pool;
+};
+
+
+
static svn_error_t *
commit_callback(const svn_commit_info_t *commit_info,
void *baton,
@@ -589,12 +654,12 @@ close_revision(void *baton)
}
svn_error_t *
-load_dumpstream(svn_stream_t *stream,
- svn_ra_session_t *session,
- svn_ra_session_t *aux_session,
- svn_cancel_func_t cancel_func,
- void *cancel_baton,
- apr_pool_t *pool)
+svn_rdump__load_dumpstream(svn_stream_t *stream,
+ svn_ra_session_t *session,
+ svn_ra_session_t *aux_session,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
+ apr_pool_t *pool)
{
svn_repos_parse_fns2_t *parser;
struct parse_baton *parse_baton;
Modified: subversion/trunk/subversion/svnrdump/svnrdump.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svnrdump/svnrdump.c?rev=1092728&r1=1092727&r2=1092728&view=diff
==============================================================================
--- subversion/trunk/subversion/svnrdump/svnrdump.c (original)
+++ subversion/trunk/subversion/svnrdump/svnrdump.c Fri Apr 15 14:52:33 2011
@@ -36,7 +36,6 @@
#include "svn_string.h"
#include "svn_props.h"
-#include "load_editor.h"
#include "svnrdump.h"
#include "private/svn_cmdline_private.h"
@@ -447,8 +446,8 @@ load_revisions(svn_ra_session_t *session
apr_file_open_stdin(&stdin_file, pool);
stdin_stream = svn_stream_from_aprfile2(stdin_file, FALSE, pool);
- SVN_ERR(load_dumpstream(stdin_stream, session, aux_session,
- check_cancel, NULL, pool));
+ SVN_ERR(svn_rdump__load_dumpstream(stdin_stream, session, aux_session,
+ check_cancel, NULL, pool));
SVN_ERR(svn_stream_close(stdin_stream));
Modified: subversion/trunk/subversion/svnrdump/svnrdump.h
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/svnrdump/svnrdump.h?rev=1092728&r1=1092727&r2=1092728&view=diff
==============================================================================
--- subversion/trunk/subversion/svnrdump/svnrdump.h (original)
+++ subversion/trunk/subversion/svnrdump/svnrdump.h Fri Apr 15 14:52:33 2011
@@ -30,6 +30,7 @@
#include "svn_pools.h"
#include "svn_hash.h"
#include "svn_delta.h"
+#include "svn_ra.h"
#ifdef __cplusplus
extern "C" {
@@ -51,6 +52,23 @@ svn_rdump__get_dump_editor(const svn_del
apr_pool_t *pool);
+/**
+ * Load the dumpstream carried in @a stream to the location described
+ * by @a session. Use @a aux_session (which is opened to the same URL
+ * as @a session) for any secondary, out-of-band RA communications
+ * required. Use @a pool for all memory allocations. 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__load_dumpstream(svn_stream_t *stream,
+ svn_ra_session_t *session,
+ svn_ra_session_t *aux_session,
+ svn_cancel_func_t cancel_func,
+ void *cancel_baton,
+ apr_pool_t *pool);
+
+
/* Normalize the line ending style of the values of properties in PROPS
* that "need translation" (according to svn_prop_needs_translation(),
* currently all svn:* props) so that they contain only LF (\n) line endings.