Overhaul svnadmin's input validation to consistently check not just for missing command-line arguments, but also for extra ones.
Overhaul svnadmin's input validation to consistently check not just
for missing command-line arguments, but also for extra ones.

* subversion/svnadmin/main.c
  (parse_local_repos_path): Remove as unused.
  (struct svnadmin_opt_state): Remove 'new_repository_path' member.
  (target_arg_to_dirent, parse_args): New helper functions.
  (set_revprop): Now expect 'filename' to be prepared by callers.
  (subcommand_hotcopy): Use parse_args() and target_arg_to_dirent()
    instead of parse_local_repos_path().
  (subcommand_crashtest, subcommand_create, subcommand_deltify,
   subcommand_dump, subcommand_help, subcommand_load,
   subcommand_list_dblogs, subcommand_list_unused_dblogs,
   subcommand_lslocks, subcommand_lstxns, subcommand_pack,
   subcommand_recover, subcommand_setlog, subcommand_setrevprop,
   subcommand_setuuid, subcommand_upgrade, subcommand_verify): Update
    to validate that the proper number of arguments was provided.
  (main): Handle repository path parsing directly instead of using
    parse_local_repos_path(), and defer new_repository_path parsing to
    subcommand_hotcopy() (the one function that needs it).

jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion