Author: artagnon
Date: Sun Jul 25 09:20:55 2010
New Revision: 979011

URL: http://svn.apache.org/viewvc?rev=979011&view=rev
Log:
Add a build.conf and get svnrload to build

* build.conf
  (svnrdump): Add new section to build svnrdump.
  (__ALL__): Add svnrdump.
* subversion/svnrload
  (svn:ignore): Copy properties from svnrdump.
* subversion/svnrload/load_editor.c: Change the path to the load
  header.
* subversion/svnrload/parse_dumpstream.c
  Correct ident to match GNU style
  (main): Stub out the callbacks and use the default parser. Also wrap
  functions in SVN_INT_ERR appropriately for error handling.
* subversion/svnrload/svnrload.c
  (main): Stub out function completely in favor of the main in
  parse_dumpstream.c

Modified:
    subversion/branches/svnrload/build.conf
    subversion/branches/svnrload/subversion/svnrload/   (props changed)
    subversion/branches/svnrload/subversion/svnrload/load_editor.c
    subversion/branches/svnrload/subversion/svnrload/parse_dumpstream.c
    subversion/branches/svnrload/subversion/svnrload/svnrload.c

Modified: subversion/branches/svnrload/build.conf
URL: 
http://svn.apache.org/viewvc/subversion/branches/svnrload/build.conf?rev=979011&r1=979010&r2=979011&view=diff
==============================================================================
--- subversion/branches/svnrload/build.conf (original)
+++ subversion/branches/svnrload/build.conf Sun Jul 25 09:20:55 2010
@@ -175,6 +175,13 @@ libs = libsvn_client libsvn_ra libsvn_de
 install = bin
 manpages = subversion/svnrdump/svnrdump.1
 
+[svnrload]
+description = Subversion remote repository loader
+type = exe
+path = subversion/svnrload
+libs = libsvn_client libsvn_ra libsvn_delta libsvn_subr apr
+install = bin
+
 # Support for GNOME Keyring
 [libsvn_auth_gnome_keyring]
 description = Subversion GNOME Keyring Library
@@ -1073,7 +1080,7 @@ libs = libsvn_fs_base libsvn_fs_fs
 [__ALL__]
 type = project
 path = build/win32
-libs = svn svnserve svnadmin svnlook svnversion svnrdump svndumpfilter
+libs = svn svnserve svnadmin svnlook svnversion svnrdump svnrload svndumpfilter
        mod_authz_svn mod_dav_svn svnsync
 
 [__ALL_TESTS__]

Propchange: subversion/branches/svnrload/subversion/svnrload/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Sun Jul 25 09:20:55 2010
@@ -0,0 +1,8 @@
+svnrload
+svnrload.exe
+.libs
+*.o
+*.lo
+*~
+.*~
+

Modified: subversion/branches/svnrload/subversion/svnrload/load_editor.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/svnrload/subversion/svnrload/load_editor.c?rev=979011&r1=979010&r2=979011&view=diff
==============================================================================
--- subversion/branches/svnrload/subversion/svnrload/load_editor.c (original)
+++ subversion/branches/svnrload/subversion/svnrload/load_editor.c Sun Jul 25 
09:20:55 2010
@@ -28,7 +28,7 @@
 #include "svn_props.h"
 #include "svn_dirent_uri.h"
 
-#include "dump_editor.h"
+#include "load_editor.h"
 
 #define ARE_VALID_COPY_ARGS(p,r) ((p) && SVN_IS_VALID_REVNUM(r))
 

Modified: subversion/branches/svnrload/subversion/svnrload/parse_dumpstream.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/svnrload/subversion/svnrload/parse_dumpstream.c?rev=979011&r1=979010&r2=979011&view=diff
==============================================================================
--- subversion/branches/svnrload/subversion/svnrload/parse_dumpstream.c 
(original)
+++ subversion/branches/svnrload/subversion/svnrload/parse_dumpstream.c Sun Jul 
25 09:20:55 2010
@@ -9,8 +9,8 @@ new_revision_record(void **revision_bato
                    void *parse_baton,
                    apr_pool_t *pool)
 {
-       printf("new_revision_record called");
-       return SVN_NO_ERROR;
+  printf("new_revision_record called");
+  return SVN_NO_ERROR;
 }
 
 static svn_error_t *
@@ -19,8 +19,8 @@ new_node_record(void **node_baton,
                 void *revision_baton,
                 apr_pool_t *pool)
 {
-       printf("new_node_record called");
-       return SVN_NO_ERROR;
+  printf("new_node_record called");
+  return SVN_NO_ERROR;
 }
 
 static svn_error_t *
@@ -28,8 +28,8 @@ uuid_record(const char *uuid,
             void *parse_baton,
             apr_pool_t *pool)
 {
-       printf("uuid_record called");
-       return SVN_NO_ERROR;
+  printf("uuid_record called");
+  return SVN_NO_ERROR;
 }
 
 static svn_error_t *
@@ -37,8 +37,8 @@ set_revision_property(void *baton,
                       const char *name,
                       const svn_string_t *value)
 {
-       printf("set_revision_property called");
-       return SVN_NO_ERROR;
+  printf("set_revision_property called");
+  return SVN_NO_ERROR;
 }
 
 static svn_error_t *
@@ -46,45 +46,45 @@ set_node_property(void *baton,
                   const char *name,
                   const svn_string_t *value)
 {
-       printf("set_node_property called");
-       return SVN_NO_ERROR;
+  printf("set_node_property called");
+  return SVN_NO_ERROR;
 }
 
 static svn_error_t *
 remove_node_props(void *baton)
 {
-       printf("remove_node_props called");
-       return SVN_NO_ERROR;
+  printf("remove_node_props called");
+  return SVN_NO_ERROR;
 }
 
 static svn_error_t *
 set_fulltext(svn_stream_t **stream,
              void *node_baton)
 {
-       printf("set_fulltext called");
-       return SVN_NO_ERROR;
+  printf("set_fulltext called");
+  return SVN_NO_ERROR;
 }
 
 static svn_error_t *
 close_node(void *baton)
 {
-       printf("close_node called");
-       return SVN_NO_ERROR;
+  printf("close_node called");
+  return SVN_NO_ERROR;
 }
 
 static svn_error_t *
 close_revision(void *baton)
 {
-       printf("close_revision called");
-       return SVN_NO_ERROR;
+  printf("close_revision called");
+  return SVN_NO_ERROR;
 }
 
 static svn_error_t *
 delete_node_property(void *baton,
                      const char *name)
 {
-       printf("delete_node_property called");
-       return SVN_NO_ERROR;
+  printf("delete_node_property called");
+  return SVN_NO_ERROR;
 }
 
 static svn_error_t *
@@ -92,38 +92,42 @@ apply_textdelta(svn_txdelta_window_handl
                 void **handler_baton,
                 void *node_baton)
 {
-       printf("apply_textdelta called");
-       return SVN_NO_ERROR;
+  printf("apply_textdelta called");
+  return SVN_NO_ERROR;
 }
 
-int main()
+int
+main(int argc, char **argv)
 {
-       apr_pool_t *pool;
-       apr_file_t *dumpfile;
-       svn_stream_t *dumpstream;
-       svn_repos_parse_fns2_t *parser;
-
-       if (svn_cmdline_init ("parse_dumpstream", stderr) != EXIT_SUCCESS)
-               return EXIT_FAILURE;
-       pool = svn_pool_create(NULL);
-
-       parser = apr_pcalloc(pool, sizeof(*parser));
-
-       parser->new_revision_record = new_revision_record;
-       parser->new_node_record = new_node_record;
-       parser->uuid_record = uuid_record;
-       parser->set_revision_property = set_revision_property;
-       parser->set_node_property = set_node_property;
-       parser->remove_node_props = remove_node_props;
-       parser->set_fulltext = set_fulltext;
-       parser->close_node = close_node;
-       parser->close_revision = close_revision;
-       parser->delete_node_property = delete_node_property;
-       parser->apply_textdelta = apply_textdelta;
-
-       apr_file_open_stdin(&dumpfile, pool);
-       dumpstream = svn_stream_from_aprfile2(dumpfile, FALSE, pool);
-       svn_repos_parse_dumpstream2(dumpstream, parser, NULL, NULL, NULL, pool);
-       svn_pool_destroy(pool);
-       return 0;
+  apr_pool_t *pool;
+  apr_file_t *dumpfile;
+  svn_stream_t *dumpstream;
+  svn_repos_parse_fns2_t *parser;
+  struct parser_baton_t *parser_baton;
+
+  if (svn_cmdline_init ("parse_dumpstream", stderr) != EXIT_SUCCESS)
+    return EXIT_FAILURE;
+  pool = svn_pool_create(NULL);
+
+  parser = apr_pcalloc(pool, sizeof(*parser));
+
+  /* parser->new_revision_record = new_revision_record; */
+  /* parser->new_node_record = new_node_record; */
+  /* parser->uuid_record = uuid_record; */
+  /* parser->set_revision_property = set_revision_property; */
+  /* parser->set_node_property = set_node_property; */
+  /* parser->remove_node_props = remove_node_props; */
+  /* parser->set_fulltext = set_fulltext; */
+  /* parser->close_node = close_node; */
+  /* parser->close_revision = close_revision; */
+  /* parser->delete_node_property = delete_node_property; */
+  /* parser->apply_textdelta = apply_textdelta; */
+
+  apr_file_open_stdin(&dumpfile, pool);
+  dumpstream = svn_stream_from_aprfile2(dumpfile, FALSE, pool);
+  SVN_INT_ERR(svn_repos_parse_dumpstream2(dumpstream, parser, NULL,
+                                          NULL, NULL, pool));
+  SVN_INT_ERR(svn_stream_close(dumpstream));
+  svn_pool_destroy(pool);
+  return 0;
 }

Modified: subversion/branches/svnrload/subversion/svnrload/svnrload.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/svnrload/subversion/svnrload/svnrload.c?rev=979011&r1=979010&r2=979011&view=diff
==============================================================================
--- subversion/branches/svnrload/subversion/svnrload/svnrload.c (original)
+++ subversion/branches/svnrload/subversion/svnrload/svnrload.c Sun Jul 25 
09:20:55 2010
@@ -327,142 +327,142 @@ version(const char *progname, apr_pool_t
   while (0)
 
 
-int
-main(int argc, const char **argv)
-{
-  const char *url = NULL;
-  char *revision_cut = NULL;
-  svn_revnum_t start_revision = svn_opt_revision_unspecified;
-  svn_revnum_t end_revision = svn_opt_revision_unspecified;
-  svn_revnum_t latest_revision = svn_opt_revision_unspecified;
-  svn_boolean_t quiet = FALSE;
-  apr_pool_t *pool = NULL;
-  svn_ra_session_t *session = NULL;
-  const char *config_dir = NULL;
-  const char *username = NULL;
-  const char *password = NULL;
-  svn_boolean_t no_auth_cache = FALSE;
-  svn_boolean_t non_interactive = FALSE;
-  apr_getopt_t *os;
-
-  if (svn_cmdline_init ("svnrdump", stderr) != EXIT_SUCCESS)
-    return EXIT_FAILURE;
-
-  pool = svn_pool_create(NULL);
-
-  SVNRLOAD_ERR(svn_cmdline__getopt_init(&os, argc, argv, pool));
-
-  os->interleave = TRUE; /* Options and arguments can be interleaved */
-
-  while (1)
-    {
-      int opt;
-      const char *opt_arg;
-      apr_status_t status = apr_getopt_long(os, svnrload__options, &opt,
-                                            &opt_arg);
-
-      if (APR_STATUS_IS_EOF(status))
-        break;
-      if (status != APR_SUCCESS)
-        {
-          SVNRLOAD_ERR(usage(argv[0], pool));
-          exit(EXIT_FAILURE);
-        }
-
-      switch(opt)
-        {
-        case 'r':
-          {
-            revision_cut = strchr(opt_arg, ':');
-            if (revision_cut)
-              {
-                start_revision = (svn_revnum_t)strtoul(opt_arg,
-                                                       &revision_cut, 10);
-                end_revision = (svn_revnum_t)strtoul(revision_cut + 1,
-                                                     NULL, 10);
-              }
-            else
-              start_revision = (svn_revnum_t)strtoul(opt_arg, NULL, 10);
-          }
-          break;
-        case 'q':
-          quiet = TRUE;
-          break;
-        case opt_config_dir:
-          config_dir = opt_arg;
-          break;
-        case opt_version:
-          SVNRLOAD_ERR(version(argv[0], pool));
-          exit(EXIT_SUCCESS);
-          break;
-        case 'h':
-          SVNRLOAD_ERR(help(argv[0], pool));
-          exit(EXIT_SUCCESS);
-          break;
-        case opt_auth_username:
-          SVNRLOAD_ERR(svn_utf_cstring_to_utf8(&username, opt_arg, pool));
-          break;
-        case opt_auth_password:
-          SVNRLOAD_ERR(svn_utf_cstring_to_utf8(&password, opt_arg, pool));
-          break;
-        case opt_auth_nocache:
-          no_auth_cache = TRUE;
-          break;
-        case opt_non_interactive:
-          non_interactive = TRUE;
-          break;
-        }
-    }
-
-  /* Only continue if the only not option argument is a url, to allow
-     implementing 'svnrdump dump URL' like handling later without breaking
-     backward compatibility */
-  if ((os->ind != os->argc-1)
-      || !svn_path_is_url(os->argv[os->ind]))
-    {
-      SVNRLOAD_ERR(usage(argv[0], pool));
-      exit(EXIT_FAILURE);
-    }
-
-  SVNRLOAD_ERR(svn_utf_cstring_to_utf8(&url, os->argv[os->ind], pool));
-
-  url = svn_uri_canonicalize(os->argv[os->ind], pool);
-
-
-  SVNRLOAD_ERR(open_connection(&session,
-                               url,
-                               non_interactive,
-                               username,
-                               password,
-                               config_dir,
-                               no_auth_cache,
-                               pool));
-
-  /* Have sane start_revision and end_revision defaults if unspecified */
-  SVNRLOAD_ERR(svn_ra_get_latest_revnum(session, &latest_revision, pool));
-  if (start_revision == svn_opt_revision_unspecified)
-    start_revision = 0;
-  if (end_revision == svn_opt_revision_unspecified)
-    end_revision = latest_revision;
-  if (end_revision > latest_revision)
-    {
-      SVN_INT_ERR(svn_cmdline_fprintf(stderr, pool,
-                                      "Revision %ld does not exist.\n",
-                                      end_revision));
-      exit(EXIT_FAILURE);
-    }
-  if (end_revision < start_revision)
-    {
-      SVN_INT_ERR(svn_cmdline_fprintf(stderr, pool,
-                                      "LOWER cannot be greater "
-                                        "than UPPER.\n"));
-      exit(EXIT_FAILURE);
-    }
+/* int */
+/* main(int argc, const char **argv) */
+/* { */
+/*   const char *url = NULL; */
+/*   char *revision_cut = NULL; */
+/*   svn_revnum_t start_revision = svn_opt_revision_unspecified; */
+/*   svn_revnum_t end_revision = svn_opt_revision_unspecified; */
+/*   svn_revnum_t latest_revision = svn_opt_revision_unspecified; */
+/*   svn_boolean_t quiet = FALSE; */
+/*   apr_pool_t *pool = NULL; */
+/*   svn_ra_session_t *session = NULL; */
+/*   const char *config_dir = NULL; */
+/*   const char *username = NULL; */
+/*   const char *password = NULL; */
+/*   svn_boolean_t no_auth_cache = FALSE; */
+/*   svn_boolean_t non_interactive = FALSE; */
+/*   apr_getopt_t *os; */
+
+/*   if (svn_cmdline_init ("svnrdump", stderr) != EXIT_SUCCESS) */
+/*     return EXIT_FAILURE; */
+
+/*   pool = svn_pool_create(NULL); */
+
+/*   SVNRLOAD_ERR(svn_cmdline__getopt_init(&os, argc, argv, pool)); */
+
+/*   os->interleave = TRUE; /\* Options and arguments can be interleaved *\/ */
+
+/*   while (1) */
+/*     { */
+/*       int opt; */
+/*       const char *opt_arg; */
+/*       apr_status_t status = apr_getopt_long(os, svnrload__options, &opt, */
+/*                                             &opt_arg); */
+
+/*       if (APR_STATUS_IS_EOF(status)) */
+/*         break; */
+/*       if (status != APR_SUCCESS) */
+/*         { */
+/*           SVNRLOAD_ERR(usage(argv[0], pool)); */
+/*           exit(EXIT_FAILURE); */
+/*         } */
+
+/*       switch(opt) */
+/*         { */
+/*         case 'r': */
+/*           { */
+/*             revision_cut = strchr(opt_arg, ':'); */
+/*             if (revision_cut) */
+/*               { */
+/*                 start_revision = (svn_revnum_t)strtoul(opt_arg, */
+/*                                                        &revision_cut, 10); 
*/
+/*                 end_revision = (svn_revnum_t)strtoul(revision_cut + 1, */
+/*                                                      NULL, 10); */
+/*               } */
+/*             else */
+/*               start_revision = (svn_revnum_t)strtoul(opt_arg, NULL, 10); */
+/*           } */
+/*           break; */
+/*         case 'q': */
+/*           quiet = TRUE; */
+/*           break; */
+/*         case opt_config_dir: */
+/*           config_dir = opt_arg; */
+/*           break; */
+/*         case opt_version: */
+/*           SVNRLOAD_ERR(version(argv[0], pool)); */
+/*           exit(EXIT_SUCCESS); */
+/*           break; */
+/*         case 'h': */
+/*           SVNRLOAD_ERR(help(argv[0], pool)); */
+/*           exit(EXIT_SUCCESS); */
+/*           break; */
+/*         case opt_auth_username: */
+/*           SVNRLOAD_ERR(svn_utf_cstring_to_utf8(&username, opt_arg, pool)); 
*/
+/*           break; */
+/*         case opt_auth_password: */
+/*           SVNRLOAD_ERR(svn_utf_cstring_to_utf8(&password, opt_arg, pool)); 
*/
+/*           break; */
+/*         case opt_auth_nocache: */
+/*           no_auth_cache = TRUE; */
+/*           break; */
+/*         case opt_non_interactive: */
+/*           non_interactive = TRUE; */
+/*           break; */
+/*         } */
+/*     } */
+
+/*   /\* Only continue if the only not option argument is a url, to allow */
+/*      implementing 'svnrdump dump URL' like handling later without breaking 
*/
+/*      backward compatibility *\/ */
+/*   if ((os->ind != os->argc-1) */
+/*       || !svn_path_is_url(os->argv[os->ind])) */
+/*     { */
+/*       SVNRLOAD_ERR(usage(argv[0], pool)); */
+/*       exit(EXIT_FAILURE); */
+/*     } */
+
+/*   SVNRLOAD_ERR(svn_utf_cstring_to_utf8(&url, os->argv[os->ind], pool)); */
+
+/*   url = svn_uri_canonicalize(os->argv[os->ind], pool); */
+
+
+/*   SVNRLOAD_ERR(open_connection(&session, */
+/*                                url, */
+/*                                non_interactive, */
+/*                                username, */
+/*                                password, */
+/*                                config_dir, */
+/*                                no_auth_cache, */
+/*                                pool)); */
+
+/*   /\* Have sane start_revision and end_revision defaults if unspecified *\/ 
*/
+/*   SVNRLOAD_ERR(svn_ra_get_latest_revnum(session, &latest_revision, pool)); 
*/
+/*   if (start_revision == svn_opt_revision_unspecified) */
+/*     start_revision = 0; */
+/*   if (end_revision == svn_opt_revision_unspecified) */
+/*     end_revision = latest_revision; */
+/*   if (end_revision > latest_revision) */
+/*     { */
+/*       SVN_INT_ERR(svn_cmdline_fprintf(stderr, pool, */
+/*                                       "Revision %ld does not exist.\n", */
+/*                                       end_revision)); */
+/*       exit(EXIT_FAILURE); */
+/*     } */
+/*   if (end_revision < start_revision) */
+/*     { */
+/*       SVN_INT_ERR(svn_cmdline_fprintf(stderr, pool, */
+/*                                       "LOWER cannot be greater " */
+/*                                         "than UPPER.\n")); */
+/*       exit(EXIT_FAILURE); */
+/*     } */
 
-  SVNRLOAD_ERR(replay_range(session, url, start_revision, end_revision,
-                            quiet, pool));
+/*   SVNRLOAD_ERR(replay_range(session, url, start_revision, end_revision, */
+/*                             quiet, pool)); */
 
-  svn_pool_destroy(pool);
+/*   svn_pool_destroy(pool); */
 
-  return 0;
-}
+/*   return 0; */
+/* } */


Reply via email to