git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1571741 13f79535-47bb-0310-9956-ffa450edef68
Revert r1571741... I missed a tiny but important detail in read_children info.

* subversion/libsvn_wc/wc_db.c
  (read_single_info): Revert.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1571743 13f79535-47bb-0310-9956-ffa450edef68
* subversion/tests/cmdline/commit_tests.py
  (commit_deep_deleted): Add regression test for the assertion failed that
    we get on the user list. After many failed attempts I can finally
    reproduce it.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1571747 13f79535-47bb-0310-9956-ffa450edef68
Resolve an assertion by properly calculating a repository path. For
this specific delete case it calculates the path of what would have been
added if it wasn't directly deleted... Yuck.

An alternative way to resolve the problem would be to remove the
assumption that this case has a path... which appears simpler, but
makes things very hard in the commit logic.

I don't mark the test fixed with this commit as this only resolves
the assertion... The commit now fails with an 'out of date' error,
while it should provide an error about the ancestor not being committed.

* subversion/libsvn_wc/status.c
  (get_repos_root_url_relpath): Fix repository path calculations for
    working-deletes.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1571787 13f79535-47bb-0310-9956-ffa450edef68
Following up on r1571747 and r1571787, resolve an often reported assertion
on the user list by properly calculating a url (r1571787) and providing a
proper error when an added ancestor is not part of a commit.

* subversion/libsvn_client/commit_util.c
  (harvest_status_callback): Also check for dangling nodes when the node
    specifies the delete of a working node.

* subversion/tests/cmdline/commit_tests.py
  (commit_deep_deleted): Remove XFail and extend test.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1571795 13f79535-47bb-0310-9956-ffa450edef68
* subversion/svnadmin/svnadmin.c
  (subcommand_lslocks): Enable cancellation for 'svnadmin lslocks', use
   an iteration pool.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1571992 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_repos/log.c
  (fs_mergeinfo_changed): A small code simplification.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572001 13f79535-47bb-0310-9956-ffa450edef68
* subversion/tests/libsvn_repos/repos-test.c
  (get_logs): Fix the error message: it was mis-reporting the expected result.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572025 13f79535-47bb-0310-9956-ffa450edef68
Change the network encoding of the "move behavior" option enum from an
integer to a string as we already do for e.g. the depth option.

* subversion/include/svn_types.h
  (svn_move_behavior_to_word,
   svn_move_behavior_from_word): Declare new type<->string conversion utils.

* subversion/libsvn_subr/types.c
  (svn_move_behavior_to_word,
   svn_move_behavior_from_word): Implement these new utils.

* subversion/mod_dav_svn/reports/log.c
  (dav_svn__log_report): Use a string to encode the move behavior option.

* subversion/libsvn_ra_serf/log.c
  (create_log_body): Extract the move behavior from its string rep.

* subversion/svnserve/serve.c
  (log_cmd): Use a 'word' to encode the move behavior option.

* subversion/libsvn_ra_svn/client.c
  (perform_ra_svn_log): Extract the move behavior from the optional 'word'.

* subversion/libsvn_ra_svn/protocol
  (Main Command Set): Update log encoding command description.

Suggested by: ivan

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572044 13f79535-47bb-0310-9956-ffa450edef68
Fix pool usage / object lifetime issues in FSFS found by valgrind.
Update FSX where it uses the same code.

* subversion/libsvn_fs_fs/cached_data.c
  (read_dir_entries): Use hash keys that live as long as the hash.
                      Luckily, we already have a suitable one.

* subversion/libsvn_fs_fs/tree.c
  (merge): When modifying members of the TARGET node, we must use
           a pool that lives at least as long as that node.

* subversion/libsvn_fs_x/tree.c
  (merge): Same.

Found by: philip

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572049 13f79535-47bb-0310-9956-ffa450edef68
Add an upgrade from 1.7 regression test that fails when working
copy exclusive locking is enabled.

* subversion/tests/cmdline/upgrade_tests.py
  (upgrade_1_7_dir_external): New test.
  (test_list): Add new test.

* subversion/tests/cmdline/upgrade_tests_data/upgrade_1_7_dir_external.tar.bz2:
  New.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572102 13f79535-47bb-0310-9956-ffa450edef68
Introduce 'svn auth', a subcommand for managing the authentication cache
which supersedes the 'svnauth' tool. Currently, cached credentials can be
listed and removed. In the future, this subcommand could also provide a
mechanism to add credentials to the cache.

* subversion/svn/auth-cmd.c: New file based on subversion/svnauth/svnauth.c.

* subversion/svn/cl.h
  (svn_cl__opt_state_t): Add 'show_passwords' option.
  (svn_cl__auth): Declare.

* subversion/svn/svn.c
  (svn_cl__longopt_t): Add 'opt_show_passwords'.
  (svn_cl__options): The --remove option is also used by 'svn auth'.
   Adjust its documentation accordingly. Add a --show-passwords option
   for use by 'svn auth'.
  (svn_cl__cmd_table): Add 'svn auth' subcommand.
  (sub_main): Handle new --show-passwords option.

* subversion/tests/cmdline/getopt_tests_data/svn--help_stdout,
  subversion/tests/cmdline/getopt_tests_data/svn_help_stdout:
   Adjust expected output.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572105 13f79535-47bb-0310-9956-ffa450edef68
Make 'svn --version' show available authentication credential caches.

* subversion/svn/help-cmd.c
  (svn_cl__help): Append auth creds storage providers to the version
   footer shown in --version output.

* subversion/tests/cmdline/getopt_tests.py
  (del_lines_res): Add patterns to delete auth-cache related lines
   from --version output.
   
* subversion/tests/cmdline/getopt_tests_data/svn--version--verbose_stdout,
  subversion/tests/cmdline/getopt_tests_data/svn--version_stdout,
   Adjust expected output.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572106 13f79535-47bb-0310-9956-ffa450edef68
* CHANGES: Account for svnauth -> svn auth switch.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572107 13f79535-47bb-0310-9956-ffa450edef68
Remove the 'svnauth' tool, superseded by 'svn auth'.

* build.conf: Remove entry for 'svnauth'.

* subversion/svnauth/svnauth.1,
  subversion/svnauth/svnauth.c,
  subversion/svnauth: Remove.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572110 13f79535-47bb-0310-9956-ffa450edef68
* build.conf
  (svn): The new 'svn auth' command links directly to serf, so add an explicit
   dependency here. Hopefully fix build failures on buildbots since r1572105.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572116 13f79535-47bb-0310-9956-ffa450edef68
* subversion/svn/auth-cmd.c
  (load_cert): Change left-over "svnauth:" prefix in warning message to "svn:".


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572117 13f79535-47bb-0310-9956-ffa450edef68
Fix an invalid memcpy identified by valgrind.

* subversion/libsvn_subr/sorts.c
  (svn_priority_queue__pop): Use memmove as memory blocks overlap, tweak
   whitespace.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572175 13f79535-47bb-0310-9956-ffa450edef68
Make upgrade_tests.py:upgrade_1_7_dir_external work with exclusive
working copy locking.

* subversion/libsvn_wc/wc_db_wcroot.c
  (svn_wc__db_wcroot_parse_local_abspath): Don't abandon an open sdb.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1572200 13f79535-47bb-0310-9956-ffa450edef68
* CHANGES: Remove a change that's been merged to 1.8.x


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