Ensure that access to the fsfs transaction list and free transaction
pointer is properly synchronized on Windows.  Before this changeset,
the corresponding txn-list-lock mutex was being enabled/disabled under
the same condition as the mutexes required for the POSIX fcntl file
locking.  This effectively ended up in no synchronization for the
txn-list operations on Windows.

* subversion/libsvn_fs_fs/fs.c
  (fs_serialized_init): Unconditionally enable the TXN_LIST_LOCK mutex
    when using a threaded APR.

Patch by: Evgeny Kotkov <evgeny.kotkov{_AT_}visualsvn.com>
          (tweaked by me)

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1568953 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_fs_fs/fs.c
  (fs_serialized_init): Following up on r1568953, remove my tweak of the patch
    as this is already handled inside svn_mutex__init.
    (It wasn't when this code was tweaked in r1182459)


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1568955 13f79535-47bb-0310-9956-ffa450edef68
* tools/dev/unix-build/Makefile.svn: Update my custom build script,
   which is also used by the bb-openbsd build bot, to libmagic 5.17.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1568956 13f79535-47bb-0310-9956-ffa450edef68
* tools/client-side/bash_completion
  (_svn): Add options to cat, info and mergeinfo.
  (_svnlook): Add filesize command.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569021 13f79535-47bb-0310-9956-ffa450edef68
Fix backport script to not require Branch: header.

This makes it so that if the revision line has the branch on it and there is
no Branch: header the merge will complete rather than failing.

* tools/dist/backport.pl
  (merge): Make the branch header prefix optional when searching for the entry
    to remove before committing.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569068 13f79535-47bb-0310-9956-ffa450edef68
* CHANGES: Update for 1.7.16 and mark 1.7.15 as not released.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569069 13f79535-47bb-0310-9956-ffa450edef68
* subversion/tests/libsvn_ra/ra-test.c
  (tunnel_callback_test): Rename from 'tunel_callback_test', fixing a typo.
  (test_funcs): Track the rename.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569116 13f79535-47bb-0310-9956-ffa450edef68
backport.pl: Get rid of an ugly hack.

This also fixes a bug introduced in r1569068 (which see for details).

* tools/dist/backport.pl
  (parse_entry):
    Store the paragraph number (relative to the file) in the parsed entry.
  (merge):
    Use the paragraph number to delete the entry.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569235 13f79535-47bb-0310-9956-ffa450edef68
backport.pl: Internal improvements.  No functional change.

* tools/dist/backport.pl
  (revert): Let the caller decide verbosity.
  (maybe_revert, handle_entry): Update callers.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569237 13f79535-47bb-0310-9956-ffa450edef68
* tools/dist/backport.pl
  (revert): Add error checking.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569238 13f79535-47bb-0310-9956-ffa450edef68
backport.pl: Sanitify backup-diff generation.  No functional change.

* tools/dist/backport.pl
  (merge): Concentrate all the logic governing the backup diff in one place.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569239 13f79535-47bb-0310-9956-ffa450edef68
backport.pl: Clean up revert-before-merge logic.  No functional change.

* tools/dist/backport.pl
  (merge): Concentrate all the logic governing revert in one place.
  (revert): Grow optional discard_STATUS argument.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569242 13f79535-47bb-0310-9956-ffa450edef68
backport.pl: renormalize: Permit whitespace lines inside entries.

Suggested by: breser

* tools/dist/backport.pl
  (renormalize_STATUS): As above.
    While here, extend commentary.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569243 13f79535-47bb-0310-9956-ffa450edef68
* tools/dist/backport.pl
  ($PAGER): Don't pass -F to less since it might not work unless -X is also
    specified (as hinted by "less -X"'s documentation).

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569246 13f79535-47bb-0310-9956-ffa450edef68
* tools/dist/backport.pl
  ($SVN, $SVNAUTH, $VIM, $SHELL, $PAGER, $EDITOR): Add a TODO.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569247 13f79535-47bb-0310-9956-ffa450edef68
Add XFail test showing that diff of a directory fails without rights of reading
the ancestor directory on svn and dav.

This is caused by rooting the ra operation one level higher than the root,
to allow the diff to properly describe directory replacements, which would be
impossible if the directory is used as the root.

* subversion/tests/cmdline/merge_authz_tests.py
  (diff_unauth_parent): New test. XFail for svn
  (test_list): Add diff_unauth_parent.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569265 13f79535-47bb-0310-9956-ffa450edef68
Resolve the diff issue identified in r1569265, and extend the regression test
to show why we do anchor the operation a bit higher than the diff.

* subversion/libsvn_client/diff.c
  (diff_prepare_repos_repos): Detect the case where we try to parent the
    session on an unreadable ancestor and avoid this case by reparenting
    to the node itself.

* subversion/tests/cmdline/merge_authz_tests.py
  (diff_unauth_parent): Remove XFail and extend test to ensure that we
    show as much of diffs as possible given the rights a user has.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569290 13f79535-47bb-0310-9956-ffa450edef68
Make the default stream full-read implementation actually work as
advertised. Before this change, it would return the remaining space
in the buffer instead of the number of bytes read.

* subversion/libsvn_subr/stream.c (full_read_fallback): Rewritten from scratch.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569296 13f79535-47bb-0310-9956-ffa450edef68
Diff consistency fix: Report the properties on deleted files, like how
we report the deleted file content. Without this we don't create clean
'svn patch' files.

This doesn't fix the same problem for directories as the diff output still
uses the old diff callbacks api which doesn't carry the necessary information.

* subversion/libsvn_client/diff.c
  (diff_file_deleted): Calculate property changes.

* subversion/tests/cmdline/diff_tests.py
  (diff_repo_repo_added_file_mime_type): Make test actually verify output.
    Resolve comment about missing information.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1569320 13f79535-47bb-0310-9956-ffa450edef68
Print the failing seed in random-test just like random-combine-test does.

* subversion/tests/libsvn_delta/random-test.c
  (do_random_test): Renamed from random_test. Returns the last seed used.
  (random_test): New; wrapper for do_random_test, prints seed on failure.


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