Rework the path library to accept and return "" as the only canonical empty path. Make sure the client canonicalizes all paths passed to the libraries. The path library now assumes that its inputs are canonical. Remove the use of explicit "." except for a few special cases.
(svn_path_internal_style, svn_path_local_style, svn_path_join, svn_path_is_empty, svn_path_is_empty_nts, svn_path_compare_paths, svn_path_compare_paths_nts, svn_path_is_child, svn_path_is_single_path_component): Change to use new macros, or to use explicit '/', or to assert canonical input.
* subversion/clients/cmdline/util.c (svn_cl__args_to_target_array): Add canonicalization of paths. Move svn_path_basename call after UTF-8 and canonicalization. (svn_cl__edit_externally): Convert "" to "." to satisfy APR.
* subversion/tests/libsvn_subr/path-test.c (SVN_EMPTY_PATH): New macro.
(test_path_split): Remove non-canonical inputs. Add new tests. Test svn_path_split_nts as well.
(test_join, test_basename): Remove non-canonical inputs. Add new tests.
(test_canonicalize): New test.
* subversion/libsvn_subr/io.c (svn_io_remove_dir, svn_io_stat, svn_io_dir_open, apr_dir_is_empty): Convert "" to "." to satisfy APR.
* merge-cmd.c (svn_cl__merge): Initialize notify_func to NULL, or it won't get initialized when opt_state->quiet is set. * cl.h (svn_cl__opt_state), main.c (svn_cl__option): Remove unused -V option. * main.c (svn_cl__option): Allow 'q' option for all commands whose primary purpose isn't to print stuff out. * move-cmd.c (svn_cl__move), mkdir-cmd.c (svn_cl__mkdir), copy-cmd.c (svn_cl__copy), commit-cmd.c (svn_cl__commit), delete-cmd.c (svn_cl__delete), import-cmd.c (svn_cl__import): Don't print commit info when quiet. * svn_help_log_switch_stdout: Update golden help output for "svn switch".