Revert the remainder of 1483532 and replace it with a much safer /
simpler solution.

Suggested by: julianfoad

* subversion/include/svn_hash.h
  (svn_hash_gets,
   svn_hash_sets): calculate key length statically when possible
  (svn_hash_gets_fixed_key,
   svn_hash_sets_fixed_key): drop

* subversion/libsvn_fs_fs/tree.c
  (crawl_directory_dag_for_mergeinfo): switch back to svn_hash_gets /
                                       svn_hash_sets

* subversion/libsvn_ra_svn/client.c
  (ra_svn_log): same

* subversion/libsvn_repos/log.c
  (fill_log_entry): same

* subversion/libsvn_repos/rev_hunt.c
  (svn_repos_get_committed_info): same

* subversion/libsvn_subr/compat.c
  (svn_compat_log_revprops_clear, svn_compat_log_revprops_out): same


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1484181 13f79535-47bb-0310-9956-ffa450edef68
* subversion/po/sv.po: Corrections after review.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1484356 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_subr/io.c
  (svn_io_file_flush_to_disk): Call svn_io_file_flush instead of
   repeating the implementation.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1484421 13f79535-47bb-0310-9956-ffa450edef68
* subversion/tests/libsvn_fs_fs/fs-pack-test.c
  (write_format): Remove unused variable.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1484422 13f79535-47bb-0310-9956-ffa450edef68
* subversion/tests/libsvn_fs_fs/fs-pack-test.c
  (write_format): Remove unnecessary curly brackets.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1484423 13f79535-47bb-0310-9956-ffa450edef68
On OS/X (and possibly other systems implementing F_FULLFSYNC), also ask the
hardware to perform a sync (like on Windows), instead of only syncing the
data to the hardware buffers.

This matches how the sync works in sqlite and may cause a performance hit
when other data is waiting to be written in the hardware buffers, as most
disks only allow syncing the entire write buffer at once.

* subversion/libsvn_subr/io.c
  (includes): Try to include sys/ioctl.h

  (svn_io_file_flush_to_disk): Use full sync when possible.

See also:
http://lists.apple.com/archives/darwin-dev/2005/Feb/msg00072.html

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1484439 13f79535-47bb-0310-9956-ffa450edef68
Following up on r1484439, use the file control api instead of the generic io
control api. Somehow the sqlite implementation renames this to ioctl in its
platform abstraction layer for *nixes.

* subversion/libsvn_subr/io.c
  (includes): Include fcntl.h instead of ioctl.h
  (svn_io_file_flush_to_disk): Use fcntl to perform the sync.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1484445 13f79535-47bb-0310-9956-ffa450edef68
Revert r1461775.
Discussion: http://svn.haxx.se/dev/archive-2013-05/0357.shtml

* subversion/include/svn_error.h
  (SVN_ERR_ASSERT): Re-implement macro without using SVN_ERR_ASSERT_E to 
   workaround pre-processor issues in VC10.
 

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1484755 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_wc/workqueue.c
  (run_postupgrade): Remove an unused variable. A follow-up to r1484092.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1484843 13f79535-47bb-0310-9956-ffa450edef68
Code simplification. No functional change.

* subversion/libsvn_fs_fs/tree.c
  (history_prev_args): Remove.
  (history_prev): Take the arguments as parameters rather than in a baton.
    Rename the two pools to our usual 'result_pool' and 'scratch_pool'.
  (fs_history_prev): Simplify the caller accordingly.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1484937 13f79535-47bb-0310-9956-ffa450edef68
* subversion/includes/svn_types.h
  (SVN_UNALIGNED_ACCESS_OK): Document that this macro is only for integer
    access.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1485018 13f79535-47bb-0310-9956-ffa450edef68
Revert the behavior change of 1409147, that made ra_local transform ra local
urls in unexpected ways to a more canonical form then svn_uri_canonicalize()
would.

* subversion/libsvn_ra_local/split_url.c
  (includes): Add path.h

  (svn_ra_local__split_URL): Split the passed url instead of construction one
    from the dirent. Add a huge comment explaining the operation.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1485127 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_ra_local/split_url.c
  (svn_ra_local__split_URL): Revert accidental argument rename that was part
    of r1485127.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1485138 13f79535-47bb-0310-9956-ffa450edef68
Consistify svn_auth_provider_t initializations (to facilitate visual
comparison).

* subversion/libsvn_subr/ssl_server_trust_providers.c
  (ssl_server_trust_file_provider): Lose unnecessary address-of operators.

* subversion/libsvn_subr/ssl_client_cert_providers.c
  (ssl_client_cert_file_provider): Code formatting change only.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1485313 13f79535-47bb-0310-9956-ffa450edef68
* subversion/tests/libsvn_diff/diff-diff3-test.c: Fix typo in test description.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1485323 13f79535-47bb-0310-9956-ffa450edef68
* subversion/libsvn_diff/diff_file.c
  (datasource_get_next_token): Fix typo in comment.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1485325 13f79535-47bb-0310-9956-ffa450edef68
* contrib/hook-scripts/check-mime-type.pl
  (): Add an explicit "end of arguments" flag.
  (safe_read_from_pipe): Add an explicit third argument.

* contrib/hook-scripts/svn-keyword-check.pl: Same.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1485350 13f79535-47bb-0310-9956-ffa450edef68
* tools/dist/backport.pl
  (merge): Provide context in error messages.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1485380 13f79535-47bb-0310-9956-ffa450edef68
Follow-up to r1471538:

* tools/dist/backport.pl
  (merge): Do revert STATUS in write-mode.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1485382 13f79535-47bb-0310-9956-ffa450edef68
* CHANGES: List changes + prospective release date for 1.6.22.


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