summaryrefslogtreecommitdiff
path: root/subversion/svnadmin/svnadmin.c
diff options
context:
space:
mode:
Diffstat (limited to 'subversion/svnadmin/svnadmin.c')
-rw-r--r--subversion/svnadmin/svnadmin.c154
1 files changed, 62 insertions, 92 deletions
diff --git a/subversion/svnadmin/svnadmin.c b/subversion/svnadmin/svnadmin.c
index 2a9d63ed65e2..d40525ec9eaf 100644
--- a/subversion/svnadmin/svnadmin.c
+++ b/subversion/svnadmin/svnadmin.c
@@ -140,7 +140,7 @@ check_lib_versions(void)
};
SVN_VERSION_DEFINE(my_version);
- return svn_ver_check_list(&my_version, checklist);
+ return svn_ver_check_list2(&my_version, checklist, svn_ver_equal);
}
@@ -756,39 +756,6 @@ subcommand_deltify(apr_getopt_t *os, void *baton, apr_pool_t *pool)
return SVN_NO_ERROR;
}
-static void
-cmdline_stream_printf(svn_stream_t *stream,
- apr_pool_t *pool,
- const char *fmt,
- ...)
- __attribute__((format(printf, 3, 4)));
-
-static void
-cmdline_stream_printf(svn_stream_t *stream,
- apr_pool_t *pool,
- const char *fmt,
- ...)
-{
- const char *message;
- va_list ap;
- svn_error_t *err;
- const char *out;
-
- va_start(ap, fmt);
- message = apr_pvsprintf(pool, fmt, ap);
- va_end(ap);
-
- err = svn_cmdline_cstring_from_utf8(&out, message, pool);
-
- if (err)
- {
- svn_error_clear(err);
- out = svn_cmdline_cstring_from_utf8_fuzzy(message, pool);
- }
-
- svn_error_clear(svn_stream_puts(stream, out));
-}
-
/* Implementation of svn_repos_notify_func_t to wrap the output to a
response stream for svn_repos_dump_fs2() and svn_repos_verify_fs() */
@@ -798,35 +765,36 @@ repos_notify_handler(void *baton,
apr_pool_t *scratch_pool)
{
svn_stream_t *feedback_stream = baton;
+ apr_size_t len;
switch (notify->action)
{
case svn_repos_notify_warning:
- cmdline_stream_printf(feedback_stream, scratch_pool,
- "WARNING 0x%04x: %s\n", notify->warning,
- notify->warning_str);
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ "WARNING 0x%04x: %s\n", notify->warning,
+ notify->warning_str));
return;
case svn_repos_notify_dump_rev_end:
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _("* Dumped revision %ld.\n"),
- notify->revision);
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ _("* Dumped revision %ld.\n"),
+ notify->revision));
return;
case svn_repos_notify_verify_rev_end:
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _("* Verified revision %ld.\n"),
- notify->revision);
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ _("* Verified revision %ld.\n"),
+ notify->revision));
return;
case svn_repos_notify_verify_rev_structure:
if (notify->revision == SVN_INVALID_REVNUM)
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _("* Verifying repository metadata ...\n"));
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ _("* Verifying repository metadata ...\n")));
else
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _("* Verifying metadata at revision %ld ...\n"),
- notify->revision);
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ _("* Verifying metadata at revision %ld ...\n"),
+ notify->revision));
return;
case svn_repos_notify_pack_shard_start:
@@ -834,14 +802,14 @@ repos_notify_handler(void *baton,
const char *shardstr = apr_psprintf(scratch_pool,
"%" APR_INT64_T_FMT,
notify->shard);
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _("Packing revisions in shard %s..."),
- shardstr);
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ _("Packing revisions in shard %s..."),
+ shardstr));
}
return;
case svn_repos_notify_pack_shard_end:
- cmdline_stream_printf(feedback_stream, scratch_pool, _("done.\n"));
+ svn_error_clear(svn_stream_puts(feedback_stream, _("done.\n")));
return;
case svn_repos_notify_pack_shard_start_revprop:
@@ -849,30 +817,30 @@ repos_notify_handler(void *baton,
const char *shardstr = apr_psprintf(scratch_pool,
"%" APR_INT64_T_FMT,
notify->shard);
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _("Packing revprops in shard %s..."),
- shardstr);
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ _("Packing revprops in shard %s..."),
+ shardstr));
}
return;
case svn_repos_notify_pack_shard_end_revprop:
- cmdline_stream_printf(feedback_stream, scratch_pool, _("done.\n"));
+ svn_error_clear(svn_stream_puts(feedback_stream, _("done.\n")));
return;
case svn_repos_notify_load_txn_committed:
if (notify->old_revision == SVN_INVALID_REVNUM)
{
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _("\n------- Committed revision %ld >>>\n\n"),
- notify->new_revision);
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ _("\n------- Committed revision %ld >>>\n\n"),
+ notify->new_revision));
}
else
{
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _("\n------- Committed new rev %ld"
- " (loaded from original rev %ld"
- ") >>>\n\n"), notify->new_revision,
- notify->old_revision);
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ _("\n------- Committed new rev %ld"
+ " (loaded from original rev %ld"
+ ") >>>\n\n"), notify->new_revision,
+ notify->old_revision));
}
return;
@@ -881,27 +849,27 @@ repos_notify_handler(void *baton,
switch (notify->node_action)
{
case svn_node_action_change:
- cmdline_stream_printf(feedback_stream, scratch_pool,
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
_(" * editing path : %s ..."),
- notify->path);
+ notify->path));
break;
case svn_node_action_delete:
- cmdline_stream_printf(feedback_stream, scratch_pool,
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
_(" * deleting path : %s ..."),
- notify->path);
+ notify->path));
break;
case svn_node_action_add:
- cmdline_stream_printf(feedback_stream, scratch_pool,
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
_(" * adding path : %s ..."),
- notify->path);
+ notify->path));
break;
case svn_node_action_replace:
- cmdline_stream_printf(feedback_stream, scratch_pool,
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
_(" * replacing path : %s ..."),
- notify->path);
+ notify->path));
break;
}
@@ -909,30 +877,32 @@ repos_notify_handler(void *baton,
return;
case svn_repos_notify_load_node_done:
- cmdline_stream_printf(feedback_stream, scratch_pool, _(" done.\n"));
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ "%s", _(" done.\n")));
return;
case svn_repos_notify_load_copied_node:
- cmdline_stream_printf(feedback_stream, scratch_pool, "COPIED...");
+ len = 9;
+ svn_error_clear(svn_stream_write(feedback_stream, "COPIED...", &len));
return;
case svn_repos_notify_load_txn_start:
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _("<<< Started new transaction, based on "
- "original revision %ld\n"),
- notify->old_revision);
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ _("<<< Started new transaction, based on "
+ "original revision %ld\n"),
+ notify->old_revision));
return;
case svn_repos_notify_load_skipped_rev:
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _("<<< Skipped original revision %ld\n"),
- notify->old_revision);
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ _("<<< Skipped original revision %ld\n"),
+ notify->old_revision));
return;
case svn_repos_notify_load_normalized_mergeinfo:
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _(" removing '\\r' from %s ..."),
- SVN_PROP_MERGEINFO);
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ _(" removing '\\r' from %s ..."),
+ SVN_PROP_MERGEINFO));
return;
case svn_repos_notify_mutex_acquired:
@@ -941,17 +911,17 @@ repos_notify_handler(void *baton,
return;
case svn_repos_notify_recover_start:
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _("Repository lock acquired.\n"
- "Please wait; recovering the"
- " repository may take some time...\n"));
+ svn_error_clear(svn_stream_printf(feedback_stream, scratch_pool,
+ _("Repository lock acquired.\n"
+ "Please wait; recovering the"
+ " repository may take some time...\n")));
return;
case svn_repos_notify_upgrade_start:
- cmdline_stream_printf(feedback_stream, scratch_pool,
- _("Repository lock acquired.\n"
- "Please wait; upgrading the"
- " repository may take some time...\n"));
+ svn_error_clear(svn_stream_puts(feedback_stream,
+ _("Repository lock acquired.\n"
+ "Please wait; upgrading the"
+ " repository may take some time...\n")));
return;
default: