Checkout Tools
  • last updated 1 hour ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fix inconsistent handling of svn_dirent_t.size for directories.

Most code uses SVN_INVALID_FILESIZE for them, so change the docs to match

that fact and update all users to consistently follow the new docstring.

* subversion/include/svn_types.h

(svn_dirent_t): Change documentation for SIZE.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__get_dir): Return the new default for directories.

* subversion/libsvn_ra_serf/list.c

(item_closed): Be sure to default to SVN_INVALID_FILESIZE.

* subversion/libsvn_repos/list.c

(fill_dirent): Set SIZE consistently with other RA layers.

  1. … 3 more files in changeset.
Fix design bug in svn_client_list4()/svn_ra_list()/svn_repos_list() APIs.

* subversion/include/svn_client.h (svn_client_list4):

Make the patterns array const. All dependencies and references updated.

* subversion/include/svn_ra.h (svn_ra_list): Likewise.

* subversion/include/svn_repos.h (svn_repos_list): Likewise.

* subversion/libsvn_client/list.c

(list_externals, list_internal, match_patterns,

get_dir_contents, list_external_items, svn_client_list4):

Make patterns array const.

* subversion/libsvn_ra/ra_loader.h (svn_ra__vtable_t::list): Likewise.

* subversion/libsvn_ra/ra_loader.c (svn_ra_list): Likewise.

* subversion/libsvn_ra_local/ra_plugin.c (svn_ra_local__list): Likewise.

* subversion/libsvn_ra_svn/client.c (ra_svn_list): And again.

* subversion/libsvn_repos/list.c (matches_any, do_list, svn_repos_list):

And some more of the same.

  1. … 8 more files in changeset.
Update the last usage of the deprecated svn_repos_fs_get_mergeinfo API.

* subversion/libsvn_ra_local/ra_plugin.c

(mergeinfo_receiver): New callback function.

(svn_ra_local__get_mergeinfo): Switch to the new API.

Implement svn_ra_list in ra_local.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__has_capability): ra_local new supports the list function.

(dirent_receiver_baton_t,

dirent_receiver,

svn_ra_local__list): New functions implementing the list API by trivially

adapting between RA- and repos-layer.

(ra_local_vtable): Activate the LIST function in the vtable.

Add a RA-level function for svn_repos_list and use that to implement

svn_client_list, if the server should support the new API.

Right now, no RA layer actually implements the new API; this will be

done in follow-up commits.

* subversion/include/svn_ra.h

(svn_ra_dirent_receiver_t,

svn_ra_list): Declare the new interface.

(SVN_RA_CAPABILITY_LIST): Declare a new server capability.

* subversion/libsvn_ra/ra_loader.h

(svn_ra__vtable_t): Add LIST function.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_list): Implement the new API and check for its availability.

* subversion/libsvn_client/list.c

(receiver_baton_t,

list_receiver): RA-layer-compatible wrapper around the client callback.

(list_internal): If we don't have to fetch any properties, use the new

RA-layer API, if available. Explicitly checking the

existance of the base path is only needed if we use

the client-side code.

* subversion/libsvn_ra_local/ra_plugin.c

(ra_local_vtable): Update vtable.

* subversion/libsvn_ra_serf/serf.c

(serf_vtable): Same.

* subversion/libsvn_ra_svn/client.c

(ra_svn_vtable): Same.

  1. … 6 more files in changeset.
Deprecate svn_repos_get_logs4.

Small twist here: The ra_local log() implementation needs to expose an

repos_log4-esque API. So, we re-use all the shim code that adapts log5

onto log4 by exposing the latter through a new private API.

* subversion/include/svn_repos.h

(svn_repos_get_logs4): Depricate.

* subversion/include/private/svn_repos_private.h

(svn_repos__get_logs_compat): Declare new private API.

* subversion/libsvn_repos/log.c

(log_entry_receiver_baton_t,

path_change_kind_to_char,

log4_path_change_receiver,

log4_entry_receiver,

svn_repos_get_logs4): Move these log5/log4 shims from here ...

* subversion/libsvn_repos/compat.c

(): ... to this new file.

(svn_repos_get_logs4): Rename this ...

(svn_repos__get_logs_compat): ... to that.

* subversion/libsvn_repos/deprecated.c

(svn_repos_get_logs4): Add trivial implementation.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__get_log): Call the new private API instead of the

deprecated one.

  1. … 5 more files in changeset.
Fix bug when svn_ra_get_dir2() will fail if invoked with SVN_DIRENT_SIZE, but

without SVN_DIRENT_KIND. There is no user visible bug, since Subversion

command line client always ask for SVN_DIRENT_KIND.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__get_dir): Do not access possibly uninitialized local variable.

* subversion/svnserve/serve.c

(get_dir): Do not access possibly uninitialized local variable.

* subversion/tests/libsvn_ra/ra-test.c

(get_dir_test): Extend test to test svn_ra_get_dir2(SVN_DIRENT_SIZE).

  1. … 2 more files in changeset.
Disable zero-copy code path for ra_local update reporters.

The known and documented limitation of svn_repos_begin_report3() is that

with zero-copy enabled, the delta editor callbacks cannot access FSFS

or use Subversion caches directly. This limitation comes from the fact

that sending delta using the zero-copy code path happens from within a cache

access wrapper — that is, while holding the lock. If a particular delta

consumer happens to access or invalidate the cache, bad things could happen,

spanning from UB due to accessing a dangling pointer to a deadlock caused by

an attempt to take a non-recursive (blocking) lock, that has already been

taken by the same thread.

Within ra_local, we cannot be sure that arbitrary callers of our public

API, namely, svn_ra_do_update3(), svn_ra_do_switch3() or svn_ra_do_status2(),

are aware of this limitation and pass-in the delta editor that doesn't access

FSFS or caches — because everything happens locally and all operations that

use the FS layer have a chance of using the cache.

* subversion/libsvn_ra_local/ra_plugin.c

(make_reporter): Pass 0 as zero_copy_limit when creating the update

reporter.

Rename the ill-defined SVN_LIBSVN_CLIENT_LINKS_* defines to an

easier to maintain SVN_LIBSVN_RA_LINKS_*. LIBSVN_CLIENT didn't

link any of this since well before 1.0.

* trunk/build/generator/gen_win_dependencies.py

* trunk/configure.ac

* trunk/subversion/libsvn_ra/ra_loader.c

* trunk/subversion/libsvn_ra_local/ra_plugin.c

* trunk/subversion/svn_private_config.hw

Update references.

  1. … 4 more files in changeset.
Extend and cleanup the ra api a bit to allow ra session implementations to

open other ra sessions. (This is similar to how the fs layer receives a

pointer to svn_fs_openX())

The ra-git branch will use this to implement ra_git by passing most of the

ra functions to an ra_local session to the local git repository.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_open4,

svn_ra__dup_session): Call set_svn_ra_open.

* subversion/libsvn_ra/ra_loader.h

(svn_ra__open_func_t): New prototype.

(svn_ra__vtable_t): Introduce set_svn_ra_open. Move experimental functions

to the end of the list.

* subversion/libsvn_ra_local/ra_plugin.c

(ra_local_vtable): Update table. Document missing items.

* subversion/libsvn_ra_serf/serf.c

(serf_vtable): Update table. Document missing items.

* subversion/libsvn_ra_svn/client.c

(ra_svn_vtable): Update table. Document missing items.

  1. … 4 more files in changeset.
Fix a client SEGV with ra-local and --enable-runtime-module-search.

When DSO loading is enabled ra-local must pass a pool with an

appropriate lifetime to svn_fs_initialize.

* subversion/include/private/svn_subr_private.h

(svn_dso__pool): New.

* subversion/libsvn_subr/dso.c

(svn_dso__pool): New.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__init): Use svn_dso__pool.

  1. … 2 more files in changeset.
Add an fs layer api that allows obtaining just a boolean indicating whether

properties exist on a node, instead of always obtaining the properties and

checking their count.

This is by far the most expensive operation on 'svn ls -v' in Subversion <=

1.8.x on huge directories as it requires fetching much 'new' data, and has

the risk of trashing the node cache.

r1673153 made new 'svn' clients stop asking for this information for this

scenario but existing clients do ask and so will most likely many third

party clients (confirmed for TortoiseSVN), will keep asking for this

information.

This function introduces the FS api and updates callers, but doesn't provide

optimized implementations yet, so the result is that this doesn't change

runtime behaviour yet, but just moves the implementation into the fs layer.

I hope this patch will be accepted for 1.9.0 to allow further improvements

in later patches, potentially after 1.9.0.

* subversion/include/svn_fs.h

(svn_fs_node_has_props): New function.

* subversion/libsvn_fs/fs-loader.c

(svn_fs_node_has_props): New function.

* subversion/libsvn_fs/fs-loader.h

(root_vtable_t): Add node_has_props.

* subversion/libsvn_fs_base/tree.c

(base_node_has_props): New function.

(root_vtable): Add function.

* subversion/libsvn_fs_fs/tree.c

(fs_node_has_props): New function.

(root_vtable): Add function.

* subversion/libsvn_fs_x/tree.c

(x_node_has_props): New function.

(root_vtable): Add function.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__get_dir): Use new optimized fs call. Rename subpool

to iterpool.

* subversion/libsvn_repos/repos.c

(svn_repos_stat): Use new optimized fs call.

* subversion/mod_dav_svn/liveprops.c

(insert_prop_internal): Use optimized code for svn clients.

* subversion/svnserve/serve.c

(get_dir): Use optimized fs code.

* subversion/tests/libsvn_ra/ra-test.c

(ra_list_has_props): New function.

(test_funcs): Add ra_list_has_props.

  1. … 10 more files in changeset.
Make al ra layers consistently handle invalid revisions when retrieving

inherited properties: add errors in a few cases that worked before, but

used to provide results that couldn't be trusted.

* subversion/libsvn_fs_base/bdb/rev-table.c

(svn_fs_bdb__get_rev): Show understandable error on SVN_INVALID_REVNUM instead

of a raw database error.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__get_inherited_props): Remove invalid->youngest handling.

* subversion/mod_dav_svn/reports/inherited-props.c

(dav_svn__get_inherited_props_report): Retrieving iprops on a not existing

path is an error.

* subversion/svnserve/serve.c

(get_inherited_props): Remove invalid->youngest handling. Retrieving iprops

on a not existing path is an error.

* subversion/tests/libsvn_ra/ra-test.c

(ra_revision_errors): Extend tests.

  1. … 4 more files in changeset.
Following up on r1609499, which made all ra layers change the auth baton in a

way that affects all ra session using it, make it possible to create a slave

auth baton that shares everything with the parent baton except for the

parameters.

Each ra session gets its own slave parameters, and thereby allows

applying their own settings from the server group (and other origins),

without affecting other ra sessions.

* subversion/include/private/svn_auth_private.h

(svn_auth__apply_config_for_server): Rename to...

(svn_auth__make_session_auth): ... this and provide a new slave auth

baton as output argument.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_open4): Create scratch pool. Create slave auth instance.

Update caller.

* subversion/libsvn_ra/ra_loader.h

(svn_ra__vtable_t.open_session): Add auth_baton argument and split pools.

* subversion/libsvn_ra/wrapper_template.h

(compat_open): Update caller.

* subversion/libsvn_ra_local/ra_local.h

(svn_ra_local__session_baton_t): Store auth baton directly.

* subversion/libsvn_ra_local/ra_plugin.c

(get_username): Update auth usage.

(svn_ra_local__open): Update arguments. Store auth baton.

* subversion/libsvn_ra_serf/ra_serf.h

(svn_ra_serf__session_t): Store auth baton reference.

* subversion/libsvn_ra_serf/serf.c

(load_config): Use slave auth baton.

(svn_ra_serf__open): Update arguments. Store auth baton.

Remove local subpool usage with scratch pool.

* subversion/libsvn_ra_serf/util.c

(ssl_server_cert,

handle_client_cert,

handle_client_cert_pw,

svn_ra_serf__credentials_callback): Use auth from session instead

of from callbacks.

* subversion/libsvn_ra_svn/client.c

(open_session): Update arguments. Store auth baton.

(ra_svn_open): Add argument.

(ra_svn_open_pool): Remove function that just doubled the pool.

(ra_svn_vtable): Update reference.

* subversion/libsvn_ra_svn/cyrus_auth.c

(svn_ra_svn__do_cyrus_auth): Use auth from session instead of from callbacks.

* subversion/libsvn_ra_svn/internal_auth.c

(svn_ra_svn__do_internal_auth): Use auth from session instead of from callbacks.

* subversion/libsvn_ra_svn/ra_svn.h

(svn_ra_svn__session_baton_t): Add auth baton.

* subversion/libsvn_subr/auth.c

(svn_auth_baton_t): Add variable.

(svn_auth_open): Document initial value.

(auth_NULL): New constant.

(svn_auth_set_parameter): Store value in slave parameters if that

exists.

(svn_auth_get_parameter): Check slave parameters before primary

parameters.

(svn_auth__apply_config_for_server): Rename to...

(svn_auth__make_session_auth): ... this and create a slave auth baton

with the new values instead of changing the passed baton.

  1. … 13 more files in changeset.
* subversion/libsvn_ra_local/ra_plugin.c

(commit_callback_wrapper): Following up on r1659863, use ra local specific

api, add error tracing and rename pool to scratch pool.

Fill in the repository root in the commit info when creating it, instead of

relying of a fixup that calls back into the ra layer from an ra layer

callback.

* subversion/libsvn_ra/ra_loader.c

(ccw_baton,

commit_callback_wrapper,

remap_commit_callback): Move to libsvn_ra_local/ra_plugin.

(svn_ra_get_commit_editor3,

svn_ra__get_commit_ev2): Remove unneeded call.

* subversion/libsvn_ra_local/ra_plugin.c

(ccw_baton,

commit_callback_wrapper,

remap_commit_callback): Move here.

(svn_ra_local__get_commit_editor,

svn_ra_local__get_commit_ev2): Add call to remap_commit_callback.

* subversion/libsvn_ra_serf/merge.c

(svn_ra_serf__run_merge): Set repository root.

* subversion/libsvn_ra_svn/client.c

(ra_svn_end_commit): Set repository root.

* subversion/libsvn_repos/commit.c

(invoke_commit_cb): Document that we don't set repository root.

  1. … 4 more files in changeset.
Apply the standard pre-branch whitespace cleanup via

tools/dev/remove-trailing-whitespace.zsh

There should be no functional changes.

* .ycm_extra_conf.py

* build/generator/gen_win.py

* build/generator/gen_win_dependencies.py

* subversion/bindings/javahl/native/EditorProxy.h

* subversion/bindings/javahl/native/StateReporter.cpp

* subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.cpp

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.h

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

* subversion/bindings/swig/ruby/test/test_fs.rb

* subversion/bindings/swig/ruby/test/util.rb

* subversion/bindings/swig/ruby/test/windows_util.rb

* subversion/include/private/svn_fs_fs_private.h

* subversion/include/private/svn_packed_data.h

* subversion/include/private/svn_repos_private.h

* subversion/include/private/svn_sorts_private.h

* subversion/include/private/svn_subr_private.h

* subversion/include/private/svn_wc_private.h

* subversion/include/svn_auth.h

* subversion/include/svn_cache_config.h

* subversion/include/svn_client.h

* subversion/include/svn_cmdline.h

* subversion/include/svn_diff.h

* subversion/include/svn_fs.h

* subversion/include/svn_io.h

* subversion/include/svn_ra.h

* subversion/include/svn_repos.h

* subversion/include/svn_string.h

* subversion/libsvn_client/blame.c

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/externals.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_client/update.c

* subversion/libsvn_delta/svndiff.c

* subversion/libsvn_diff/parse-diff.c

* subversion/libsvn_fs/fs-loader.c

* subversion/libsvn_fs_base/lock.c

* subversion/libsvn_fs_fs/cached_data.c

* subversion/libsvn_fs_fs/fs_fs.c

* subversion/libsvn_fs_fs/hotcopy.c

* subversion/libsvn_fs_fs/id.c

* subversion/libsvn_fs_fs/index.c

* subversion/libsvn_fs_fs/index.h

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_fs_fs/low_level.c

* subversion/libsvn_fs_fs/low_level.h

* subversion/libsvn_fs_fs/pack.c

* subversion/libsvn_fs_fs/recovery.c

* subversion/libsvn_fs_fs/rev_file.c

* subversion/libsvn_fs_fs/revprops.c

* subversion/libsvn_fs_fs/revprops.h

* subversion/libsvn_fs_fs/stats.c

* subversion/libsvn_fs_fs/transaction.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_fs_fs/verify.c

* subversion/libsvn_fs_x/cached_data.c

* subversion/libsvn_fs_x/changes.c

* subversion/libsvn_fs_x/dag.h

* subversion/libsvn_fs_x/fs.h

* subversion/libsvn_fs_x/fs_id.c

* subversion/libsvn_fs_x/fs_x.c

* subversion/libsvn_fs_x/hotcopy.c

* subversion/libsvn_fs_x/hotcopy.h

* subversion/libsvn_fs_x/index.c

* subversion/libsvn_fs_x/index.h

* subversion/libsvn_fs_x/lock.c

* subversion/libsvn_fs_x/lock.h

* subversion/libsvn_fs_x/low_level.c

* subversion/libsvn_fs_x/low_level.h

* subversion/libsvn_fs_x/noderevs.c

* subversion/libsvn_fs_x/pack.c

* subversion/libsvn_fs_x/reps.c

* subversion/libsvn_fs_x/rev_file.c

* subversion/libsvn_fs_x/revprops.c

* subversion/libsvn_fs_x/revprops.h

* subversion/libsvn_fs_x/string_table.c

* subversion/libsvn_fs_x/string_table.h

* subversion/libsvn_fs_x/transaction.c

* subversion/libsvn_fs_x/tree.c

* subversion/libsvn_fs_x/util.c

* subversion/libsvn_fs_x/verify.c

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_serf/ra_serf.h

* subversion/libsvn_ra_serf/serf.c

* subversion/libsvn_ra_serf/update.c

* subversion/libsvn_ra_serf/util.c

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_repos/authz_pool.c

* subversion/libsvn_repos/config_pool.c

* subversion/libsvn_repos/dump.c

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_subr/bit_array.c

* subversion/libsvn_subr/cache-membuffer.c

* subversion/libsvn_subr/config.c

* subversion/libsvn_subr/dirent_uri.c

* subversion/libsvn_subr/fnv1a.c

* subversion/libsvn_subr/gpg_agent.c

* subversion/libsvn_subr/hash.c

* subversion/libsvn_subr/io.c

* subversion/libsvn_subr/object_pool.c

* subversion/libsvn_subr/packed_data.c

* subversion/libsvn_subr/prefix_string.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/sqlite.c

* subversion/libsvn_subr/subst.c

* subversion/libsvn_subr/sysinfo.c

* subversion/libsvn_subr/types.c

* subversion/libsvn_subr/utf.c

* subversion/libsvn_subr/utf8proc/utf8proc_data.c

* subversion/libsvn_subr/x509info.c

* subversion/libsvn_wc/diff.h

* subversion/libsvn_wc/props.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/wc.h

* subversion/libsvn_wc/wc_db.c

* subversion/libsvn_wc/wc_db.h

* subversion/mod_dav_svn/lock.c

* subversion/mod_dav_svn/mod_dav_svn.c

* subversion/mod_dav_svn/status.c

* subversion/svn/auth-cmd.c

* subversion/svn/info-cmd.c

* subversion/svn/mergeinfo-cmd.c

* subversion/svn/notify.c

* subversion/svn/propget-cmd.c

* subversion/svn/svn.c

* subversion/svnadmin/svnadmin.c

* subversion/svnserve/logger.c

* subversion/svnserve/serve.c

* subversion/svnserve/server.h

* subversion/svnserve/svnserve.c

* subversion/tests/cmdline/blame_tests.py

* subversion/tests/cmdline/checkout_tests.py

* subversion/tests/cmdline/commit_tests.py

* subversion/tests/cmdline/export_tests.py

* subversion/tests/cmdline/externals_tests.py

* subversion/tests/cmdline/lock_tests.py

* subversion/tests/cmdline/merge_tests.py

* subversion/tests/cmdline/merge_tree_conflict_tests.py

* subversion/tests/cmdline/move_tests.py

* subversion/tests/cmdline/redirect_tests.py

* subversion/tests/cmdline/stat_tests.py

* subversion/tests/cmdline/svnadmin_tests.py

* subversion/tests/cmdline/switch_tests.py

* subversion/tests/cmdline/update_tests.py

* subversion/tests/libsvn_client/client-test.c

* subversion/tests/libsvn_client/mtcc-test.c

* subversion/tests/libsvn_fs/fs-test.c

* subversion/tests/libsvn_fs/locks-test.c

* subversion/tests/libsvn_fs_fs/fs-fs-fuzzy-test.c

* subversion/tests/libsvn_fs_fs/fs-fs-pack-test.c

* subversion/tests/libsvn_fs_x/fs-x-pack-test.c

* subversion/tests/libsvn_fs_x/string-table-test.c

* subversion/tests/libsvn_ra/ra-test.c

* subversion/tests/libsvn_subr/cache-test.c

* subversion/tests/libsvn_subr/checksum-test.c

* subversion/tests/libsvn_subr/config-test.c

* subversion/tests/libsvn_subr/io-test.c

* subversion/tests/libsvn_subr/packed-data-test.c

* subversion/tests/libsvn_subr/priority-queue-test.c

* subversion/tests/libsvn_subr/sqlite-test.c

* subversion/tests/libsvn_subr/string-test.c

* subversion/tests/libsvn_subr/subst_translate-test.c

* subversion/tests/libsvn_subr/x509-test.c

* subversion/tests/libsvn_wc/op-depth-test.c

* subversion/tests/svn_test_main.c

* tools/dev/benchmarks/RepoPerf/copy_repo.py

* tools/dev/benchmarks/RepoPerf/win_repo_bench.py

* tools/dev/build-svn-deps-win.pl

* tools/dev/fsfs-access-map.c

* tools/dev/po-merge.py

* tools/dev/x509-parser.c

* tools/diff/diff.c

* tools/dist/backport.pl

* tools/dist/backport_tests.py

* tools/hook-scripts/mailer/mailer.py

* tools/server-side/svnpubsub/daemonize.py

* win-tests.py

Remove unneeded whitespace via script.

  1. … 184 more files in changeset.
Following the availability of apr_hash_this_key() etc. in APR v1.5, use

these in Subversion code instead of svn__apr_hash_index_key() etc. Provide

substitutes only when APR is too old to provide them.

* subversion/include/svn_types.h,

subversion/libsvn_subr/iter.c

(svn__apr_hash_index_key,

svn__apr_hash_index_klen,

svn__apr_hash_index_val):

Rename to apr_hash_this_key, apr_hash_this_key_len, apr_hash_this_val.

Declare and define them only if APR is older than 1.5.

Everywhere else: track the renames.

  1. … 102 more files in changeset.
Reverting experimental move-related APIs.

For details see http://svn.haxx.se/dev/archive-2014-05/0155.shtml

This effectively reverts revisions 1595600,1572044,1547039,1535341,

1535330,1535080,1535029,1534280,1532200,1527217,1527088,1526057,

1526014,1526013,1525484,1525467,1525464,1525463,1525462,1525460,

1525459,1525453,1525448,1525442,1525432,1525429 and 1525419.

Remove respective entries from CHANGES.

  1. … 43 more files in changeset.
Make svn_fs_lock_target_t opaque in the public API so that any

future changes to the target parameters are easier.

* subversion/include/svn_fs.h

(struct svn_fs_lock_target_t): Change to forward declaration.

(svn_fs_lock_target_create, svn_fs_lock_target_set_token): New.

* subversion/libsvn_fs/fs-loader.h

(struct svn_fs_lock_target_t): Define.

* subversion/libsvn_fs/fs-loader.c

(svn_fs_lock_target_create, svn_fs_lock_target_set_token): New.

* subversion/libsvn_repos/fs-wrap.c

(svn_repos_fs_lock_many): Use svn_fs_lock_target_set_token.

(svn_repos_fs_lock): Use svn_fs_lock_target_create.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__lock): Use svn_fs_lock_target_create.

* subversion/svnserve/serve.c

(lock_many): Use svn_fs_lock_target_create.

* subversion/tests/libsvn_fs/locks-test.c

(lock_multiple_paths): Use svn_fs_lock_target_create.

  1. … 6 more files in changeset.
Convert the new multi-path lock and unlock functions to a callback API,

rename from _lock2 and _unlock2 to _lock_many and _unlock_many.

* subversion/include/svn_fs.h

(svn_fs_lock_result_t): Remove.

(svn_fs_lock_callback_t):

(svn_fs_lock2): Rename to...

(svn_fs_lock_many): ...this, change to callback API.

(svn_fs_unlock2): Rename to...

(svn_fs_unlock_many): ...this, change to callback API.

* subversion/include/svn_repos.h

(svn_repos_fs_lock2): Rename to...

(svn_repos_fs_lock_many): ...this, change to callback API.

(svn_repos_fs_unlock2): Rename to...

(svn_repos_fs_unlock_many): ...this, change to callback API.

* subversion/libsvn_fs/fs-loader.h

(struct fs_vtable_t): Change lock and unlock to callback API.

* subversion/libsvn_fs/fs-loader.c

(struct lock_many_baton_t, lock_many_cb): New.

(svn_fs_lock2): Rename to...

(svn_fs_lock_many): ...this, change to callback API.

(struct lock_baton_t, lock_cb): New.

(svn_fs_lock): Adapt to callback API.

(svn_fs_unlock2): Rename to...

(svn_fs_unlock_many): ...this, change to callback API.

(svn_fs_unlock): Adapt to callback API.

* subversion/libsvn_fs_fs/lock.h

* subversion/libsvn_fs_fs/lock.c

(svn_fs_fs__lock, svn_fs_fs__unlock): Change to callback API.

* subversion/libsvn_fs_base/lock.h

* subversion/libsvn_fs_base/lock.c

(svn_fs_base__lock, svn_fs_base__unlock): Change to callback API.

* subversion/libsvn_fs_x/lock.h

* subversion/libsvn_fs_x/lock.c

(svn_fs_x__lock, svn_fs_x__unlock): Change to callback API.

* subversion/libsvn_ra_local/ra_plugin.c

(deltify_etc): Adapt to callback API.

(struct lock_baton_t, lock_cb): New.

(svn_ra_local__lock, svn_ra_local__unlock): Adapt to callback API.

* subversion/libsvn_repos/fs-wrap.c

(struct lock_many_baton_t, lock_many_cb): New.

(svn_repos_fs_lock2): Rename to...

(svn_repos_fs_lock_many): ...this, change to callback API.

(struct lock_baton_t, lock_cb): New.

(svn_repos_fs_lock): Adapt to callback API.

(svn_repos_fs_unlock2): Rename to...

(svn_repos_fs_unlock_many): ...this, change to callback API.

(svn_repos_fs_unlock): Adapt to callback API.

* subversion/mod_dav_svn/version.c

(unlock_many_cb): New.

(release_locks): Adapt to callback API.

* subversion/svnserve/serve.c

(write_lock): Make parameter const.

(lock_cb): New.

(unlock_paths): Adapt to callback API.

(struct lock_result_t, struct lock_many_baton_t, lock_many_cb): New.

(clear_lock_result_hash): New.

(lock_many, unlock_many): Adapt to callback API.

* subversion/tests/libsvn_fs/locks-test.c

(struct lock_result_t): New.

(expect_lock, expect_error, expect_unlock, expect_unlock_error): Change

to struct lock_result_t.

(struct lock_many_baton_t, lock_many_cb): New.

(lock_multiple_paths): Adapt to callback API.

* subversion/tests/libsvn_ra/ra-test.c

(struct lock_result_t): New.

(lock_cb, expect_lock, expect_error, expect_unlock, expect_unlock_error,

lock_test): Change to struct lock_result_t.

  1. … 15 more files in changeset.
Merge the fsfs-lock-many branch to trunk. This introduce multiple

path lock and unlock at the FS level and connects it up over ra_local

and ra_svn, and also uses it post-commit to release locks. A summary

of the branch changes:

* subversion/include/svn_fs.h

(svn_fs_lock_target_t, svn_fs_lock_result_t,

svn_fs_lock2, svn_fs_unlock2): new.

* subversion/include/svn_repos.h

(svn_repos_fs_lock2, svn_repos_fs_unlock2): new.

* subversion/include/svn_error.h

(SVN_ERR_IS_LOCK_ERROR, SVN_ERR_IS_UNLOCK_ERROR): Add pre- hook errors.

* subversion/libsvn_fs/fs-loader.c

(svn_fs_lock2, svn_fs_unlock2): New.

* subversion/libsvn_fs/fs-loader.h

(fs_vtable_t): Change lock and unlock parameters.

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_fs_x/lock.c

(svn_fs_fs__lock, svn_fs_fs__unlock): New multiple path implementation.

* subversion/libsvn_fs_base/lock.c

(svn_fs_base__lock, svn_fs_base__unlock): Iterate over paths.

* subversion/libsvn_fs_fs/lock.h

(svn_fs_fs__lock, svn_fs_fs__unlock): Change parameters.

* subversion/libsvn_fs_x/lock.h

(svn_fs_x__lock, svn_fs_x__unlock): Change parameters.

* subversion/libsvn_fs_base/lock.h

(svn_fs_base__lock, svn_fs_base__unlock): Change parameters.

* subversion/libsvn_repos/fs-wrap.c

(svn_repos_fs_lock2, svn_repos_fs_unlock2): New.

* subversion/libsvn_repos/repos.c

(SVN_REPOS__HOOK_POST_LOCK, SVN_REPOS__HOOK_POST_UNLOCK): Tweak hook

template text.

* subversion/libsvn_ra_local/ra_plugin.c

(deltify_etc, svn_ra_local__lock, svn_ra_local__unlock): Use new API.

* subversion/mod_dav_svn/version.c

(release_locks): Use new API.

* subversion/svnserve/serve.c

(unlock_paths, lock_many, unlock_many): Use new API.

* subversion/libsvn_subr/log.c

* subversion/libsvn_fs_fs/lock.h

(svn_fs_fs__lock, svn_fs_fs__unlock,

svn_log__lock_one_path, svn_log__unlock_one_path): Change parameter.

* subversion/libsvn_client/locking_commands.c

(store_locks_callback): Tweak error handling.

* subversion/tests/libsvn_fs/locks-test.c

(lock_multiple_paths): New test.

* subversion/tests/libsvn_ra/ra-test.c

(lock_test): New test.

* subversion/tests/cmdline/authz_tests.py

(authz_locking): Tweak expectations.

* subversion/tests/cmdline/lock_tests.py

(block_unlock_if_pre_unlock_hook_fails, lock_hook_messages): Tweak

expectations.

(failing_post_hooks): New.

  1. … 26 more files in changeset.
Revert r1508225, which moved the include of svn_private_config.h before all

includes of our public headers. Public headers shouldn't depend on private

headers and all changes that required this are long reverted on trunk.

This patch excludes all conflicting cases.

* subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c

* subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c

* subversion/libsvn_auth_gnome_keyring/gnome_keyring.c

* subversion/libsvn_client/add.c

* subversion/libsvn_client/cat.c

* subversion/libsvn_client/changelist.c

* subversion/libsvn_client/cleanup.c

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/commit_util.c

* subversion/libsvn_client/copy.c

* subversion/libsvn_client/copy_foreign.c

* subversion/libsvn_client/ctx.c

* subversion/libsvn_client/delete.c

* subversion/libsvn_client/deprecated.c

* subversion/libsvn_client/diff.c

* subversion/libsvn_client/diff_local.c

* subversion/libsvn_client/diff_summarize.c

* subversion/libsvn_client/export.c

* subversion/libsvn_client/externals.c

* subversion/libsvn_client/import.c

* subversion/libsvn_client/info.c

* subversion/libsvn_client/iprops.c

* subversion/libsvn_client/list.c

* subversion/libsvn_client/locking_commands.c

* subversion/libsvn_client/log.c

* subversion/libsvn_client/merge.c

* subversion/libsvn_client/mergeinfo.c

* subversion/libsvn_client/patch.c

* subversion/libsvn_client/prop_commands.c

* subversion/libsvn_client/ra.c

* subversion/libsvn_client/repos_diff.c

* subversion/libsvn_client/resolved.c

* subversion/libsvn_client/revert.c

* subversion/libsvn_client/switch.c

* subversion/libsvn_client/update.c

* subversion/libsvn_client/util.c

* subversion/libsvn_delta/compat.c

* subversion/libsvn_delta/xdelta.c

* subversion/libsvn_diff/parse-diff.c

* subversion/libsvn_diff/util.c

* subversion/libsvn_fs/access.c

* subversion/libsvn_fs_base/bdb/changes-table.c

* subversion/libsvn_fs_base/bdb/env.c

* subversion/libsvn_fs_base/dag.c

* subversion/libsvn_fs_base/fs.c

* subversion/libsvn_fs_base/lock.c

* subversion/libsvn_fs_base/revs-txns.c

* subversion/libsvn_fs_base/tree.c

* subversion/libsvn_fs_fs/caching.c

* subversion/libsvn_fs_fs/lock.c

* subversion/libsvn_fs_fs/temp_serializer.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_ra/compat.c

* subversion/libsvn_ra/deprecated.c

* subversion/libsvn_ra/ra_loader.c

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_serf/blame.c

* subversion/libsvn_ra_serf/blncache.c

* subversion/libsvn_ra_serf/commit.c

* subversion/libsvn_ra_serf/getlocations.c

* subversion/libsvn_ra_serf/getlocationsegments.c

* subversion/libsvn_ra_serf/getlocks.c

* subversion/libsvn_ra_serf/inherited_props.c

* subversion/libsvn_ra_serf/log.c

* subversion/libsvn_ra_serf/merge.c

* subversion/libsvn_ra_serf/mergeinfo.c

* subversion/libsvn_ra_serf/options.c

* subversion/libsvn_ra_serf/property.c

* subversion/libsvn_ra_serf/replay.c

* subversion/libsvn_ra_serf/serf.c

* subversion/libsvn_ra_serf/update.c

* subversion/libsvn_ra_serf/util.c

* subversion/libsvn_ra_serf/xml.c

* subversion/libsvn_ra_svn/client.c

* subversion/libsvn_ra_svn/editorp.c

* subversion/libsvn_ra_svn/marshal.c

* subversion/libsvn_repos/authz.c

* subversion/libsvn_repos/commit.c

* subversion/libsvn_repos/delta.c

* subversion/libsvn_repos/deprecated.c

* subversion/libsvn_repos/fs-wrap.c

* subversion/libsvn_repos/hooks.c

* subversion/libsvn_repos/log.c

* subversion/libsvn_repos/replay.c

* subversion/libsvn_repos/reporter.c

* subversion/libsvn_repos/repos.c

* subversion/libsvn_repos/rev_hunt.c

* subversion/libsvn_subr/auth.c

* subversion/libsvn_subr/cmdline.c

* subversion/libsvn_subr/compat.c

* subversion/libsvn_subr/config.c

* subversion/libsvn_subr/config_auth.c

* subversion/libsvn_subr/deprecated.c

* subversion/libsvn_subr/dso.c

* subversion/libsvn_subr/hash.c

* subversion/libsvn_subr/io.c

* subversion/libsvn_subr/mergeinfo.c

* subversion/libsvn_subr/opt.c

* subversion/libsvn_subr/properties.c

* subversion/libsvn_subr/simple_providers.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_subr/ssl_client_cert_providers.c

* subversion/libsvn_subr/ssl_client_cert_pw_providers.c

* subversion/libsvn_subr/ssl_server_trust_providers.c

* subversion/libsvn_subr/subst.c

* subversion/libsvn_subr/types.c

* subversion/libsvn_subr/username_providers.c

* subversion/libsvn_subr/utf.c

* subversion/libsvn_subr/win32_crypto.c

* subversion/libsvn_wc/adm_crawler.c

* subversion/libsvn_wc/adm_files.c

* subversion/libsvn_wc/conflicts.c

* subversion/libsvn_wc/copy.c

* subversion/libsvn_wc/deprecated.c

* subversion/libsvn_wc/diff_editor.c

* subversion/libsvn_wc/diff_local.c

* subversion/libsvn_wc/entries.c

* subversion/libsvn_wc/externals.c

* subversion/libsvn_wc/info.c

* subversion/libsvn_wc/lock.c

* subversion/libsvn_wc/node.c

* subversion/libsvn_wc/old-and-busted.c

* subversion/libsvn_wc/props.c

* subversion/libsvn_wc/revert.c

* subversion/libsvn_wc/status.c

* subversion/libsvn_wc/update_editor.c

* subversion/libsvn_wc/upgrade.c

* subversion/libsvn_wc/wc_db_update_move.c

* subversion/libsvn_wc/wc_db_wcroot.c

* subversion/mod_dav_svn/repos.c

* subversion/mod_dav_svn/version.c

* subversion/svn/cl-conflicts.c

* subversion/svn/commit-cmd.c

* subversion/svn/conflict-callbacks.c

* subversion/svn/diff-cmd.c

* subversion/svn/help-cmd.c

* subversion/svn/notify.c

* subversion/svn/propedit-cmd.c

* subversion/svn/propget-cmd.c

* subversion/svn/props.c

* subversion/svn/status-cmd.c

* subversion/svn/status.c

* subversion/svn/svn.c

* subversion/svn/util.c

* subversion/svnadmin/svnadmin.c

* subversion/svnlook/svnlook.c

* subversion/svnrdump/dump_editor.c

* subversion/svnrdump/svnrdump.c

* subversion/svnrdump/util.c

* subversion/svnserve/serve.c

* subversion/svnsync/svnsync.c

* subversion/svnsync/sync.c

* subversion/tests/libsvn_fs/fs-test.c

* subversion/tests/libsvn_repos/repos-test.c

* subversion/tests/libsvn_subr/hashdump-test.c

* subversion/tests/libsvn_subr/mergeinfo-test.c

* subversion/tests/libsvn_subr/subst_translate-test.c

* subversion/tests/libsvn_wc/conflict-data-test.c

* subversion/tests/libsvn_wc/op-depth-test.c

* subversion/tests/libsvn_wc/wc-test.c

* subversion/tests/svn_test_fs.c

* tools/server-side/fsfs-stats.c

Move the svn_string_private.h include back to the original location.

  1. … 162 more files in changeset.
Tweak ra session open failure error generation to produce a localizable message

and use an easy to check code.

* subversion/include/svn_error_codes.h

(SVN_ERR_RA_CANNOT_CREATE_SESSION): New error code.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_open4): Wrap provider specific error codes with generic error.

Make message localizable.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__open): Remove wrapping that has been in ra_loader.c for some

versions to avoid duplicated error messages.

  1. … 2 more files in changeset.
Small code cleanup in ra_plugin.c. No functional changes.

* subversion/libsvn_ra_local/ra_plugin.c

(get_node_props): Remove iprop support and cleanup arguments.

(svn_ra_local__get_file,

svn_ra_local__get_dir): Update caller that only needs node props.

(svn_ra_local__get_inherited_props): Obtain iprops directly.

Introduce a new ra api: svn_ra_session_dup() which allows opening a new ra

session from an existing ra session. While this by itself might help

performance in a few specific scenarios where opening a repository is

expensive, it also allows moving certain kinds of ra backwards

compatibility code into the ra layer itself, that are otherwise impossible.

Update two usages to add some test coverage.

* subversion/include/svn_ra.h

(svn_ra_dup_session): New function.

* subversion/libsvn_client/diff.c

(diff_repos_repos,

diff_summarize_repos_repos): Showcase for testing. Update caller.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_dup_session): New function.

* subversion/libsvn_ra/ra_loader.h

(svn_ra__vtable_t): Add member.

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__dup_session): New function.

(ra_local_vtable): Update vtable.

* subversion/libsvn_ra_serf/ra_serf.h

(svn_ra_serf__session_t): Add comment. Add config.

* subversion/libsvn_ra_serf/serf.c

(svn_ra_serf__open): Store config.

(ra_serf_dup_session): New function.

(serf_vtable): Update vtable.

* subversion/libsvn_ra_svn/client.c

(open_session): Add argument. Store config.

(ra_svn_dup_session): New function.

(ra_svn_reparent): Update caller.

(ra_svn_vtable): Update vtable.

* subversion/libsvn_ra_svn/ra_svn.h

(svn_ra_svn__session_baton_t): Add variable.

  1. … 8 more files in changeset.
Introduce a null-pointer constant that we can use as a termination sentinel

in variable argument lists. This avoids the ugliness of writing

"(char *) NULL" all over the place.

* subversion/include/svn_types.h (SVN_VA_NULL): New symbol.

* subversion/include/svn_dirent_uri.h (svn_dirent_join_many),

subversion/include/svn_path.h (svn_path_join_many),

subversion/include/svn_xml.h (svn_xml_make_open_tag):

Update docstrings, mentioning SVN_VA_NULL as the argument list terminator.

[Lots of implementation files]: Replace typecast-NULL with SVN_VA_NULL in

function calls with variable argument lists.

  1. … 89 more files in changeset.
[Reverted in r1597989]

Support the MOVes in the RA log API:

Bump svn_ra_get_log to support the move_behavior option.

For ra_serf, we add an optional move-behavior element to the LOG report.

If not given, it defaults to 1.8 behavior reporting all moves as adds.

For ra_svn, we append an optional integer parameter determining the

move-behavior option. Same default behavior as above.

For ra_local, we simply call the new repos layer API directly.

* subversion/include/svn_ra.h

(svn_ra_get_log3): declare bumped API

(svn_ra_get_log2): deprecate

* subversion/libsvn_ra/deprecated.c

(svn_ra_get_log2): implement in terms of svn_ra_get_log3

* subversion/libsvn_ra/ra_loader.h

(svn_ra__vtable_t): add move_behavior parameter to get_log

* subversion/libsvn_ra/ra_loader.c

(svn_ra_get_log2): replaced by ...

(svn_ra_get_log3): ... this; pass new paramter through to vtable

* subversion/libsvn_ra_local/ra_plugin.c

(svn_ra_local__get_log): update to use new repos layer API

* subversion/libsvn_ra_serf/ra_serf.h

(svn_ra_serf__get_log): update declaration to match vtable.get_log

* subversion/libsvn_ra_serf/log.c

(log_context_t): add move_behavior parameter

(create_log_body): send it unless we want 1.8 behavior ("no moves")

(svn_ra_serf__get_log): pass new parameter through

* subversion/mod_dav_svn/merge.c

(do_resources): add move_behavior in case we want to call this function

from places other than dav_svn__merge_response;

handle the new change types

(dav_svn__merge_response): report commit result as recorded

* subversion/libsvn_ra_svn/protocol

(log): update protocol description

* subversion/mod_dav_svn/reports/log.c

(dav_svn__log_report): parse new "move-behavior" element, if present;

call the latest repos layer log API

* subversion/libsvn_ra_svn/client.c

(perform_ra_svn_log,

ra_svn_log): append move_behavior option in log command request

* subversion/svnserve/serve.c

(log_cmd): test for & get the new, optional move_behavior parameter;

call the latest repos layer log API

* subversion/libsvn_ra/wrapper_template.h

(compat_get_log): request 1.8 / "no moves" behavior

  1. … 12 more files in changeset.
Add serf library version to svn --version output.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_print_modules): Pass pool to get_description() vtable call.

* subversion/libsvn_ra/ra_loader.h

(svn_ra__vtable_t): Add pool parameter to get_description.

* subversion/libsvn_ra_serf/serf.c

(RA_SERF_DESCRIPTION_NEW): New.

(ra_serf_get_description): Add serf library version information to RA layer

description.

* subversion/libsvn_ra_local/ra_plugin.c

* subversion/libsvn_ra_svn/client.c

(svn_ra_local__get_description, ra_svn_get_description): Add Add pool

parameter.

  1. … 4 more files in changeset.
Fix the #include order such that svn_private_config.h is always

included first before any other svn header - if we also include

svn_hash.h.

* subversion/bindings/javahl/native/org_apache_subversion_javahl_ConfigImpl_Category.cpp,

subversion/bindings/swig/perl/libsvn_swig_perl/swigutil_pl.c,

subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c,

subversion/bindings/swig/ruby/libsvn_swig_ruby/swigutil_rb.c,

subversion/libsvn_auth_gnome_keyring/gnome_keyring.c,

subversion/libsvn_client/add.c,

subversion/libsvn_client/cat.c,

subversion/libsvn_client/changelist.c,

subversion/libsvn_client/cleanup.c,

subversion/libsvn_client/commit.c,

subversion/libsvn_client/commit_util.c,

subversion/libsvn_client/copy.c,

subversion/libsvn_client/copy_foreign.c,

subversion/libsvn_client/ctx.c,

subversion/libsvn_client/delete.c,

subversion/libsvn_client/deprecated.c,

subversion/libsvn_client/diff.c,

subversion/libsvn_client/diff_local.c,

subversion/libsvn_client/diff_summarize.c,

subversion/libsvn_client/export.c,

subversion/libsvn_client/externals.c,

subversion/libsvn_client/import.c,

subversion/libsvn_client/info.c,

subversion/libsvn_client/iprops.c,

subversion/libsvn_client/list.c,

subversion/libsvn_client/locking_commands.c,

subversion/libsvn_client/log.c,

subversion/libsvn_client/merge.c,

subversion/libsvn_client/mergeinfo.c,

subversion/libsvn_client/patch.c,

subversion/libsvn_client/prop_commands.c,

subversion/libsvn_client/ra.c,

subversion/libsvn_client/repos_diff.c,

subversion/libsvn_client/resolved.c,

subversion/libsvn_client/revert.c,

subversion/libsvn_client/status.c,

subversion/libsvn_client/switch.c,

subversion/libsvn_client/update.c,

subversion/libsvn_client/util.c,

subversion/libsvn_delta/compat.c,

subversion/libsvn_delta/xdelta.c,

subversion/libsvn_diff/parse-diff.c,

subversion/libsvn_diff/util.c,

subversion/libsvn_fs/access.c,

subversion/libsvn_fs_base/bdb/changes-table.c,

subversion/libsvn_fs_base/bdb/env.c,

subversion/libsvn_fs_base/dag.c,

subversion/libsvn_fs_base/fs.c,

subversion/libsvn_fs_base/lock.c,

subversion/libsvn_fs_base/revs-txns.c,

subversion/libsvn_fs_base/tree.c,

subversion/libsvn_fs_fs/caching.c,

subversion/libsvn_fs_fs/fs_fs.c,

subversion/libsvn_fs/fs-loader.c,

subversion/libsvn_fs_fs/lock.c,

subversion/libsvn_fs_fs/temp_serializer.c,

subversion/libsvn_fs_fs/tree.c,

subversion/libsvn_fs_util/fs-util.c,

subversion/libsvn_ra/compat.c,

subversion/libsvn_ra/deprecated.c,

subversion/libsvn_ra_local/ra_plugin.c,

subversion/libsvn_ra/ra_loader.c,

subversion/libsvn_ra_serf/blame.c,

subversion/libsvn_ra_serf/blncache.c,

subversion/libsvn_ra_serf/commit.c,

subversion/libsvn_ra_serf/getlocations.c,

subversion/libsvn_ra_serf/getlocationsegments.c,

subversion/libsvn_ra_serf/getlocks.c,

subversion/libsvn_ra_serf/inherited_props.c,

subversion/libsvn_ra_serf/log.c,

subversion/libsvn_ra_serf/merge.c,

subversion/libsvn_ra_serf/mergeinfo.c,

subversion/libsvn_ra_serf/options.c,

subversion/libsvn_ra_serf/property.c,

subversion/libsvn_ra_serf/replay.c,

subversion/libsvn_ra_serf/serf.c,

subversion/libsvn_ra_serf/update.c,

subversion/libsvn_ra_serf/util.c,

subversion/libsvn_ra_serf/xml.c,

subversion/libsvn_ra_svn/client.c,

subversion/libsvn_ra_svn/editorp.c,

subversion/libsvn_ra_svn/marshal.c,

subversion/libsvn_repos/authz.c,

subversion/libsvn_repos/commit.c,

subversion/libsvn_repos/delta.c,

subversion/libsvn_repos/deprecated.c,

subversion/libsvn_repos/fs-wrap.c,

subversion/libsvn_repos/hooks.c,

subversion/libsvn_repos/log.c,

subversion/libsvn_repos/replay.c,

subversion/libsvn_repos/reporter.c,

subversion/libsvn_repos/repos.c,

subversion/libsvn_repos/rev_hunt.c,

subversion/libsvn_subr/auth.c,

subversion/libsvn_subr/cmdline.c,

subversion/libsvn_subr/compat.c,

subversion/libsvn_subr/config_auth.c,

subversion/libsvn_subr/config.c,

subversion/libsvn_subr/deprecated.c,

subversion/libsvn_subr/dso.c,

subversion/libsvn_subr/hash.c,

subversion/libsvn_subr/io.c,

subversion/libsvn_subr/mergeinfo.c,

subversion/libsvn_subr/opt.c,

subversion/libsvn_subr/properties.c,

subversion/libsvn_subr/simple_providers.c,

subversion/libsvn_subr/sorts.c,

subversion/libsvn_subr/ssl_client_cert_providers.c,

subversion/libsvn_subr/ssl_client_cert_pw_providers.c,

subversion/libsvn_subr/ssl_server_trust_providers.c,

subversion/libsvn_subr/subst.c,

subversion/libsvn_subr/types.c,

subversion/libsvn_subr/username_providers.c,

subversion/libsvn_subr/utf.c,

subversion/libsvn_subr/win32_crypto.c,

subversion/libsvn_wc/adm_crawler.c,

subversion/libsvn_wc/adm_files.c,

subversion/libsvn_wc/adm_ops.c,

subversion/libsvn_wc/conflicts.c,

subversion/libsvn_wc/copy.c,

subversion/libsvn_wc/deprecated.c,

subversion/libsvn_wc/diff_editor.c,

subversion/libsvn_wc/diff_local.c,

subversion/libsvn_wc/entries.c,

subversion/libsvn_wc/externals.c,

subversion/libsvn_wc/info.c,

subversion/libsvn_wc/lock.c,

subversion/libsvn_wc/node.c,

subversion/libsvn_wc/old-and-busted.c,

subversion/libsvn_wc/props.c,

subversion/libsvn_wc/revert.c,

subversion/libsvn_wc/status.c,

subversion/libsvn_wc/translate.c,

subversion/libsvn_wc/update_editor.c,

subversion/libsvn_wc/upgrade.c,

subversion/libsvn_wc/wc_db.c,

subversion/libsvn_wc/wc_db_update_move.c,

subversion/libsvn_wc/wc_db_wcroot.c,

subversion/libsvn_wc/workqueue.c,

subversion/mod_dav_svn/activity.c,

subversion/mod_dav_svn/deadprops.c,

subversion/mod_dav_svn/lock.c,

subversion/mod_dav_svn/merge.c,

subversion/mod_dav_svn/mod_dav_svn.c,

subversion/mod_dav_svn/reports/update.c,

subversion/mod_dav_svn/repos.c,

subversion/mod_dav_svn/version.c,

subversion/svnadmin/svnadmin.c,

subversion/svnauth/svnauth.c,

subversion/svn/cl-conflicts.c,

subversion/svn/commit-cmd.c,

subversion/svn/conflict-callbacks.c,

subversion/svn/diff-cmd.c,

subversion/svn/help-cmd.c,

subversion/svnlook/svnlook.c,

subversion/svnmucc/svnmucc.c,

subversion/svn/notify.c,

subversion/svn/propedit-cmd.c,

subversion/svn/propget-cmd.c,

subversion/svn/props.c,

subversion/svnrdump/dump_editor.c,

subversion/svnrdump/svnrdump.c,

subversion/svnrdump/util.c,

subversion/svnserve/serve.c,

subversion/svn/status.c,

subversion/svn/status-cmd.c,

subversion/svn/svn.c,

subversion/svnsync/svnsync.c,

subversion/svnsync/sync.c,

subversion/svn/util.c,

subversion/tests/libsvn_fs/fs-test.c,

subversion/tests/libsvn_repos/repos-test.c,

subversion/tests/libsvn_subr/hashdump-test.c,

subversion/tests/libsvn_subr/mergeinfo-test.c,

subversion/tests/libsvn_subr/subst_translate-test.c,

subversion/tests/libsvn_wc/conflict-data-test.c,

subversion/tests/libsvn_wc/op-depth-test.c,

subversion/tests/libsvn_wc/wc-test.c,

subversion/tests/svn_test_fs.c,

tools/dev/fsfs-reorg.c,

tools/server-side/fsfs-stats.c): #include svn_private_config.h first

  1. … 180 more files in changeset.