On 11.06.2015 15:29, Branko Äibej wrote:
> I think we're at the point where we're trying to polish the UI. It is
> rather late in the day for that. The minor tweak required in svnadmin to
> emit errors in --quiet mode can be pushed into RC3
Perhaps something along the lines of the patch below. Note that this
patch makes subcommand_verify behave differently wrt --quiet than all
the other commends; on the other hand, this is the only command that
accepts a --keep-going flag, so I guess that's fine.
-- Brane
Index: subversion/svnadmin/svnadmin.c
===================================================================
--- subversion/svnadmin/svnadmin.c (revision 1684887)
+++ subversion/svnadmin/svnadmin.c (working copy)
@@ -868,6 +868,9 @@ struct repos_notify_handler_baton {
/* Stream to write progress and other non-error output to. */
svn_stream_t *feedback_stream;
+ /* Suppress notifications that are neither errors nor warnings. */
+ svn_boolean_t silent_running;
+
/* Whether errors contained in notifications should be printed along
with the notification. If FALSE, any errors will only be
summarized. */
@@ -891,6 +894,14 @@ repos_notify_handler(void *baton,
struct repos_notify_handler_baton *b = baton;
svn_stream_t *feedback_stream = b->feedback_stream;
+ /* Don't print anything if the feedback stream isn't provided.
+ Only print errors and warnings in silent mode. */
+ if (!feedback_stream
+ || (b->silent_running
+ && notify->action != svn_repos_notify_warning
+ && notify->action != svn_repos_notify_failure))
+ return;
+
switch (notify->action)
{
case svn_repos_notify_warning:
@@ -1838,9 +1849,11 @@ subcommand_verify(apr_getopt_t *os, void *baton, a
upper = lower;
}
- if (! opt_state->quiet)
- notify_baton.feedback_stream = recode_stream_create(stdout, pool);
+ notify_baton.feedback_stream = recode_stream_create(stdout, pool);
+ if (opt_state->quiet)
+ notify_baton.silent_running = TRUE;
+
if (opt_state->keep_going)
notify_baton.error_summary =
apr_array_make(pool, 0, sizeof(struct verification_error *));
@@ -1853,10 +1866,8 @@ subcommand_verify(apr_getopt_t *os, void *baton, a
opt_state->keep_going,
opt_state->check_normalization,
opt_state->metadata_only,
- !opt_state->quiet
- ? repos_notify_handler : NULL,
- ¬ify_baton, check_cancel,
- NULL, pool);
+ repos_notify_handler, ¬ify_baton,
+ check_cancel, NULL, pool);
/* Show the --keep-going error summary. */
if (opt_state->keep_going && notify_baton.error_summary->nelts > 0)
Received on 2015-06-11 15:55:11 CEST