Modify signed constant FNV1_BASE_32 to unsigned to suppress compiler
warning: subversion/libsvn_subr/file.c: In function
'calc_hash':subversion/libsvn_subr/file.c:149:3: warning: this decimal
constant is unsigned only in ISO C90 [enabled by default]

* subversion/libsvn_subr/file.c 
  (FNV1_BASE_32): Modify signed constant FNV1_BASE_32 to unsigned
    constant.

Approved by: philip

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1526594 13f79535-47bb-0310-9956-ffa450edef68
* INSTALL
  (sqlite): Document that Subversion 1.8+ requires Sqlite 3.7.12+


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1526655 13f79535-47bb-0310-9956-ffa450edef68
Clean up is_changed_node() implementation. No functional change.

* subversion/libsvn_fs_fs/tree.c
  (is_changed_node): reformat, add more commentary

Suggested by: ivan

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527079 13f79535-47bb-0310-9956-ffa450edef68
We should not ascribe all problems detected by is_changed_node()
to simple out-of-date-ness.  FS corruption etc. should still
reported as such to (ultimately) the client.

* subversion/libsvn_fs_fs/tree.c
  (copy_helper): only report "node not found" as "out of date"

Found by: ivan

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527084 13f79535-47bb-0310-9956-ffa450edef68
Sync FSX fs_move code with latest FSFS changes.

* subversion/libsvn_fs_x/tree.c
  (is_changed_node): new utility
  (copy_helper): allow moving from older revisions if there were
                 no intermittent changes

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

* subversion/libsvn_fs_x/tree.c
  (is_changed_node,
   copy_helper): call FSX internal API instead of FSFS's interna

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527091 13f79535-47bb-0310-9956-ffa450edef68
Make the membuffer cache initialization code atomic and being executed
at most once.

Previously, multiple theads could be trying to create the cache
simultaneously.  The code dealt with that after the fact safely,
hence this is not a correctness issue.  However, it causes a spike
in memory consumption likely followed by an OOM error or the server
process being killed by the OS.

* subversion/libsvn_subr/cache_config.c
  (initialize_cache): actual cache creation code factored out and
                      simplified from ...
  (svn_cache__get_global_membuffer_cache): ... this; use atomic init.

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527103 13f79535-47bb-0310-9956-ffa450edef68
Follow-up to r1527103: fix a "shadow identifier" compiler warning.

* subversion/libsvn_subr/cache_config.c
  (svn_cache_config_get): rename POOL parameter

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527105 13f79535-47bb-0310-9956-ffa450edef68
Introduce a small new private API that allows for recycling root pools
as piloted by svnserve in r1523465.  Provide some basic testing as well.

* subversion/include/private/svn_subr_private.h
  (svn_root_pools__t): declare new API data types
  (svn_root_pools__create,
   svn_root_pools__acquire_pool,
   svn_root_pools__release_pool): declare new API functions

* subversion/libsvn_subr/root_pools.c
  (): new file
  (svn_root_pools__t): define new API data type
  (acquire_pool_internal): new utility function
  (svn_root_pools__create,
   svn_root_pools__acquire_pool,
   svn_root_pools__release_pool): implement new API functions

* subversion/tests/libsvn_subr/root-pools-test.c
  (): tests for the new API

* build.conf
  (root-pools-test): new build target
  (__ALL_TESTS__): add new test as dependency


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527140 13f79535-47bb-0310-9956-ffa450edef68
Follow-up r1527140: fix duplicate definition error

* subversion/libsvn_subr/root_pools.c
  (svn_root_pools__t): remove duplicate typedef


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527141 13f79535-47bb-0310-9956-ffa450edef68
Replace local code in svnserve with the new svn_root_pools__* API.
Use separate pools for the many small socket objects and the few,
larger connections.

The number of connections to a svnserve instance now increases its
memory consumption by less than 100kB per additional connection.
Tested with 20000 concurrent connections.

* subversion/svnserve/svnserve.c
  (connection_pools,
   connection_pools_mutex): drop global variables
  (initialize_connection_pools,
   acquire_connection_pool_internal,
   acquire_connection_pool,
   release_connection_pool): drop obsolete functions
  (shared_pool_t,
   attach_shared_pool,
   release_shared_pool): add the root pools container so we can return
                         the socket pool there
  (connection_pools,
   serve_thread): use a separate root pool container for connections
  (main): init the new root pool containers;
          use a socket pool instead of connection pool

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527142 13f79535-47bb-0310-9956-ffa450edef68
Fix APR_INCOMPLETE error in root-pools-test under Windows.

* subversion/tests/libsvn_subr/root-pools-test.c
  (thread_func): explicitly end thread


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527144 13f79535-47bb-0310-9956-ffa450edef68
* subversion/svnserve/svnserve.c
  (main): remove unused variable

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527145 13f79535-47bb-0310-9956-ffa450edef68
Hopefully, make our BSD buildbot happy.

* subversion/svnserve/svnserve.c
  (serve_thread_t): say 'struct shared_pool_t' explicitly

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527211 13f79535-47bb-0310-9956-ffa450edef68
Make root-pools-test compile without warnings when APR_HAS_THREADS
is not defined.

* subversion/tests/libsvn_subr/root-pools-test.c
  (thread_func): hide completely if we don't support threads

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527215 13f79535-47bb-0310-9956-ffa450edef68
Skip move-related checks and updates in FSFS if moves are not supported.
This minimizes the overhead for existing repositories.

* subversion/libsvn_fs_fs/transaction.c
  (write_final_changed_path_info,
   commit_body): execute fs_move related code only if moves are supported
                 by the current FSFS format


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527217 13f79535-47bb-0310-9956-ffa450edef68
In svnserve, ensure that all use of the shared pool data type is wrapped
in #if APR_HAS_THREADS.

* subversion/svnserve/svnserve.c
  (serve_thread_t): Define the shared_pool member within #if APR_HAS_THREADS.
   There is no need to declare the shared_pool as a 'struct' after typedef.
  (main): No need to declare the shared_pool as a 'struct' after typedef.

Found by: brane


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527286 13f79535-47bb-0310-9956-ffa450edef68
Eliminate ineffective code from dag_clone_child and simplify callers
in FSFS and FSX.  BDB uses different code.

* subversion/libsvn_fs_fs/dag.h
  (svn_fs_fs__dag_clone_child): drop is_parent_copyroot parameter

* subversion/libsvn_fs_x/dag.h
  (svn_fs_x__dag_clone_child): ditto

* subversion/libsvn_fs_fs/dag.c
  (svn_fs_fs__dag_clone_child): remove the ineffective copy-from assignment

* subversion/libsvn_fs_x/dag.c
  (svn_fs_x__dag_clone_child): ditto

* subversion/libsvn_fs_fs/tree.c
  (make_path_mutable): update & simplify caller

* subversion/libsvn_fs_x/tree.c
  (make_path_mutable): ditto

Found by: rassilon

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

git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1527512 13f79535-47bb-0310-9956-ffa450edef68
Clang does not understand __attribute__((warning)), so don't use
it to tag experimental functions.

* subversion/include/svn_types.h (SVN_EXPERIMENTAL): Skip the GCC definition
   of this macro when compiling with clang.


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