Sync up the branch with trunk.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1495930 13f79535-47bb-0310-9956-ffa450edef68
Show the summary of corrupt revisions if keep-going is enabled.
--quiet behaves the same irrespective of the value of keep-going.

* subversion/include/svn_repos.h
  (svn_repos_notify_action_t): Add svn_repos_notify_failure_summary and
  svn_repos_notify_summary to show the summary of corruptions.

* subversion/libsvn_repos/dump.c
  (notify_verification_summary): New function to notify the summary title.
  (notify_verification_error_summary): New function to notify the actual
  summary of the corrupt revisions.
  (error_list): New struct with the revnum and the err to show in summary.
  (err_cleanup): Function to cleanup the pool.
  (populate_summary): New function to populate an array of error_lists
  with the respective revnum and err to notify in the summary.
  (svn_repos_verify_fs3): Show the summary of corruptions.

* subversion/svnadmin/svnadmin.c
  (repos_notify_handler): Handle notification of corruption summary
  title and the actual summary of corrupt revisions.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1497757 13f79535-47bb-0310-9956-ffa450edef68
Do not show summary header if there is no corruption. Also, show the full
error chain in summary.

* subversion/libsvn_repos/dump.c
  (svn_repos_verify_fs3): Show the summary header only if there are corruptions.

* subversion/svnadmin/svnadmin.c
  (repos_notify_handler): Show the full error chain in the error summary.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1498394 13f79535-47bb-0310-9956-ffa450edef68
Format the summary of corrupt revisions.

* subversion/libsvn_repos/dump.c
  (notify_verification_error_summary): Show the best error message instead of
  the entire error chain in the summary.

* subversion/svnadmin/svnadmin.c
  (repos_notify_handler): Do not print the entire error chain in the summary
  of corrupt revisions.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1499315 13f79535-47bb-0310-9956-ffa450edef68
Fix the test case to check for summary if keep-going is true.

* subversion/tests/cmdline/svnadmin_tests.py
  (verify_keep_going): Fix the test case's expected output to check for
  the summary if keep-going is true.

* subversion/svnadmin/svnadmin.c
  (repos_notify_handler): Formatting tweak.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1499741 13f79535-47bb-0310-9956-ffa450edef68
Merging r1495341 through r1501107 from trunk into keep-going branch.

git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1501136 13f79535-47bb-0310-9956-ffa450edef68
Sync the verify-keep-going branch with trunk, resolving some trivial
conflicts in svnadmin_tests.py and svnadmin/svnadmin.c.

There are currently two failing tests on this branch:
  FAIL:  svnadmin_tests.py 31: svnadmin verify --keep-going test
  FAIL:  svnadmin_tests.py 32: detect invalid changed path list entries


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1546002 13f79535-47bb-0310-9956-ffa450edef68
On the verify-keep-going branch, tweak generation of the error summary.

This fixes a small layering violation, and also changes the output a bit.

* subversion/libsvn_repos/dump.c
  (notify_verification_error_summary): Don't populate notify->warning_str.
   The warning string is intended to be used for svn_repos_notify_warning,
   not for svn_repos_notify_failure_summary.
   Instead, we can rely on API users to obtain and display error messages
   based on notify->err. This was a small layering violation since API
   users might want to use a different string representation anyway.

* subversion/svnadmin/svnadmin.c
  (repos_notify_handler): Make 'svnadmin' generate an error message display
   based on the error chain saved in notify->err. Display all interesting
   (i.e. non-tracing) errors in the error chain saved for a revision.
   Also, pad the output so that error messages are aligned for revision
   numbers with up to 6 digits (TODO: padding could account for larger
   revision numbers, like 'svn blame' does).


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1546041 13f79535-47bb-0310-9956-ffa450edef68
On the verify-keep-going-branch, restore display of error codes in the
summary, which I accidentally removed in r1546041.

* subversion/svnadmin/svnadmin.c
  (repos_notify_handler): Display error codes in the summary.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1546046 13f79535-47bb-0310-9956-ffa450edef68
On the verify-keep-going branch, adjust expected output to make tests pass.

* subversion/tests/cmdline/svnadmin_tests.py
  (verify_keep_going, verify_invalid_path_changes): Tweak expected stdout
   and stderr to make these tests accept the current behaviour.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1546052 13f79535-47bb-0310-9956-ffa450edef68
On the verify-keep-going branch:

* subversion/libsvn_repos/dump.c
  (svn_repos_verify_fs3): Fix spacing.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1546053 13f79535-47bb-0310-9956-ffa450edef68
On the verify-keep-going branch:

* subversion/libsvn_repos/dump.c
  (populate_summary): Rename scratch_pool parameter to result_pool.
   Data allocated in this pool is used by the caller.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1546055 13f79535-47bb-0310-9956-ffa450edef68
On the verify-keep-going branch:

* subversion/libsvn_repos/dump.c
  (svn_repos_verify_fs3): Reduce scope of a local variable.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1546056 13f79535-47bb-0310-9956-ffa450edef68
On the verify-keep-going branch, remove redundant code.

* subversion/libsvn_repos/dump.c
  (notify_verification_error, notify_verification_summary): These functions
   are only called if notify_func is not NULL, so they don't need to verify
   this argument.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1546059 13f79535-47bb-0310-9956-ffa450edef68
On the verify-keep-going branch, a follow-up to r1546059.

* subversion/libsvn_repos/dump.c
  (notify_verification_error): Restore notify_func == NULL check. It is
   needed in this function.
  (notify_verification_error_summary): And remove it here, which is what
   I intended to do in r1546059.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1546063 13f79535-47bb-0310-9956-ffa450edef68
On the verify-keep-going branch, move the entire error summary logic
into svnadmin, rather than splitting it between svnadmin and libsvn_repos.

This simplifies the code on this branch and reduces the diff to trunk.

Suggested by: julianfoad

* subversion/include/svn_repos.h
  (svn_repos_notify_failure_summary, svn_repos_notify_summary): Remove.
   Not needed anymore since svnadmin now deals with error summaries internally.

* subversion/libsvn_repos/dump.c
  (notify_verification_summary, notify_verification_error_summary): Remove.
  (error_list, err_cleanup, populate_summary): Moved to svnadmin.c.
  (svn_repos_verify_fs3): Remove code dealing with error summary. This
   function is now identical to its current implementation on trunk.

* subversion/svnadmin/svnadmin.c
  (error_list, err_cleanup, populate_summary): Moved here from dump.c.
  (repos_notify_handler_baton): New baton type which can store error
   summary information.
  (repos_notify_handler): Gather error summary information. Remove code
   to handle now obsolete notifications.
  (subcommand_dump, subcommand_load, subcommand_recover, subcommand_pack,
   subcommand_upgrade): Handle the new baton type.
  (subcommand_verify): Handle new baton type and display an error summary
   if verify --keep-going encounters errors.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1546092 13f79535-47bb-0310-9956-ffa450edef68
On the verify-keep-going branch, perform several mostly stylistic tweaks.
No functional change.

* subversion/svnadmin/svnadmin.c
  (error_list): This structure is an element of a list of verification
   errors, not a list of errors, so rename it to ...
  (verification_error): ... this.
  (err_cleanup): Don't pass a void pointer to svn_error_clear().
  (populate_summary): Remove, this is now inlined in its only caller.
  (repos_notify_handler_baton): Document members of this struct.
  (repos_notify_handler): Inline populate_summary() here.
  (subcommand_verify): Don't create an error summary list and result
   pool for the notification handler if we're not in --keep-going mode.
  (subcommand_verify): Tweak comment. Track 'error_list' renaming.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1546103 13f79535-47bb-0310-9956-ffa450edef68
On the verify-keep-going branch, uncouple the --keep-going option from
the --quiet option. Currently, --quiet suppresses notifications, and
hence also the summary printed by --keep-going. But there is no need
to encode this assumption in the --keep-going code path.

* subversion/svnadmin/svnadmin.c
  (subcommand_verify): Create error summary list, and show the summary if
   the list is not empty, even if --quiet was given,
   Always create a result pool for the notification callback to use.
   I've included a drive-by indentation fix as well.


git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/verify-keep-going@1546109 13f79535-47bb-0310-9956-ffa450edef68
Merge the verify-keep-going branch to trunk.

'svnadmin verify --keep-going' now shows a summary of errors at the end.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1546114 13f79535-47bb-0310-9956-ffa450edef68