diff options
Diffstat (limited to 'subversion/svnadmin/svnadmin.c')
-rw-r--r-- | subversion/svnadmin/svnadmin.c | 154 |
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: |