Checkout Tools
  • last updated 5 hours ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 1460144 is being indexed.

Use svn_hash_gets/svn_hash_sets, part 1: #include "svn_hash.h" everywhere

that <apr_hash.h> is included. I assume most of those use APR_HASH_KEY_STRING.

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

* subversion/libsvn_client/commit.c

* subversion/libsvn_client/diff_local.c

* subversion/libsvn_client/import.c

* subversion/libsvn_delta/xdelta.c

* subversion/libsvn_fs/access.c

* subversion/libsvn_fs/fs-loader.c

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

* subversion/libsvn_fs_base/bdb/env.c

* subversion/libsvn_fs_fs/tree.c

* subversion/libsvn_ra/ra_loader.c

* subversion/libsvn_repos/delta.c

* subversion/libsvn_subr/dso.c

* subversion/libsvn_subr/properties.c

* subversion/libsvn_subr/sorts.c

* subversion/libsvn_wc/adm_crawler.c

* subversion/libsvn_wc/conflicts.c

* subversion/mod_dav_svn/deadprops.c

* subversion/mod_dav_svn/merge.c

* subversion/mod_dav_svn/mod_dav_svn.c

* subversion/mod_dav_svn/repos.c

* subversion/svn/props.c

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

(svn_hash.h): Add #include.

  1. … 22 more files in changeset.
Slightly changing the semantics of svn_mutex__init(). If the

enable_mutex parameter has been set, the function will try

to enable the the mutex only if SVN is potentially multi-threaded,

i.e. if APR_HAS_THREADS is set.

Thus, the parameter can simply be set to TRUE, if we would

need synchronization in a multi-threaded environment.

* subversion/libsvn_subr/svn_mutex.c

(svn_mutex__init): no-op if APR_HAS_THREADS isn't set

* subversion/include/private/svn_mutex.h

(svn_mutex__init): update docstring

* subversion/libsvn_subr/dso.c

(svn_dso_initialize2): adapt caller

* subversion/libsvn_fs_base/bdb/env.c

(bdb_init_cb): ditto

* subversion/libsvn_fs/fs-loader.c

(svn_fs_initialize): ditto

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

(test_inprocess_cache_basic): adapt indirect caller

(test_membuffer_cache_basic): ditto

  1. … 5 more files in changeset.
Fix some more fallout with thread-less APR caused by the svn_mutex merge.

* subversion/libsvn_subr/dso.c

(svn_dso_initialize2): Don't enable mutexes if APR is thread-less.

Reintegrate svn_mutex branch into /trunk and remove BRANCH-README.
  1. … 14 more files in changeset.
Follow-up to r1148374:

* subversion/libsvn_subr/dso.c

(svn_dso_load): Print error message when SVN_DEBUG_DSO is defined. Also

improve error message.

* notes/knobs: Document SVN_DEBUG_DSO.

  1. … 1 more file in changeset.
Wrap a debug fprintf() call added in r877783 in #if 0 instead of SVN_DEBUG.

Initially added by Arfrever in r877783, it was amended by Julian and

Greg in r879959 and r879960 to use SVN_DBG() instead of fprintf() to

work around test suite failures. It was later flipped back to fprintf()

by Arfrever in r880496 for an unspecified reason.

The error message printed, in my case, was 'File not found' on a single

line, with no context information whatsoever. This is very irritating.

* subversion/libsvn_subr/dso.c

(svn_dso_load): Don't print a confusing error message to stderr.

The message is only useful for people who want to debug the dso loading

code, not everyone compiling debug builds.

Test out my new and fancy ASF commit priviledges by changing the copyright

wording in our license headers to reflect ownership by the ASF.


Change terminology to ASF, and update a link.

* subversion/libsvn_subr/opt.c

(svn_opt__print_version_info): Note that the product as a whole is

copyrighted by the ASF, and update the project website.

* everywhere:

Change license text to reflect ASF ownership.

  1. … 891 more files in changeset.
* subversion/libsvn_subr/dso.c

(svn_dso_load): Use fprintf() instead of SVN_DBG() to print error message.

Followup to Julian's fix in r39885, and switch to use the SVN_DBG macro.

It brings in all the "standard stuff" for debug output: the DBG prefix,

and the correct output descriptor. The output is also subject to "quiet

mode" thru compilation or an envvar.

* subversion/libsvn_subr/dso.c:

(svn_dso_load): use SVN_DBG, as appropriate.

Adjust the warning messages that are emitted by debug builds on failure to

load a Dynamic Shared Object file (such as the KWallet or Gnome Keyring auth

libs) so that the test suite will ignore them. This is useful when testing

with just one of KWallet or Gnome Keyring because Subversion tries to load

both and we don't care if it can't find one of them.

We could have kept the message going to stderr and made the test suite

ignore debug messages on stderr as well as on stdout, but there is precedent

for such messages to go to stdout.

We probably should make Subversion consistent about whether it tries to load

these libs. It is odd to try loading both (assuming both are listed in the

config option) if built with support for either but not to try if built with

support for neither.

* subversion/libsvn_subr/dso.c

(svn_dso_load): Prefix the warning message with "DBG: " and emit it on

stdout rather than stderr.

* subversion/libsvn_subr/dso.c

(svn_dso_initialize2): Wrap declaration of 'status' variable in

#if APR_HAS_THREADS, as all code that uses it is also wrapped in it.

Avoids 'unused variable' warning during compilation with non-threaded APR.

Relicense Subversion under the Apache License, Version 2.0.

* NOTICE: New.



subversion/LICENSE: Remove.

* subversion/libsvn_subr/opt.c

(svn_opt__print_version_info): Note that the product as a whole is

copyrighted by the SVN Corp, and that it contains contributions from

many people, as referenced in NOTICE.

* subversion/bindings/swig/python/LICENSE_FOR_PYTHON_BINDINGS:

Relicense the SVN parts under Apache 2.0.

* everywhere:

Change copyright notices in file headers to reflect the Apache 2.0 license.

  1. … 882 more files in changeset.
When SVN_DEBUG is defined, print error messages containing details about

failures of dynamic loading of libraries performed by apr_dso_load().

* subversion/libsvn_subr/dso.c

(svn_dso_load): Print message retrieved by apr_dso_error().

* subversion/libsvn_subr/dso.c

(svn_dso_initialize): Move deprecated function to ...

* subversion/libsvn_subr/deprecated.c

(svn_dso_initialize): ... this file.

  1. … 1 more file in changeset.
Delete trailing whitespace.

Follow-up to r26317 and r27598.

* build/generator/

* build/generator/

* build/generator/

* contrib/client-side/svnmerge/

* subversion/bindings/ctypes-python/csvn/

* subversion/bindings/ctypes-python/csvn/

* subversion/bindings/ctypes-python/examples/

* subversion/bindings/ctypes-python/

* subversion/bindings/ctypes-python/test/

* subversion/bindings/ctypes-python/test/

* subversion/bindings/ctypes-python/test/

* subversion/bindings/ctypes-python/test/

* subversion/bindings/ctypes-python/test/

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/

* subversion/include/private/svn_auth_private.h:

* subversion/include/private/svn_sqlite.h:

* subversion/include/private/svn_wc_private.h:

* subversion/include/svn_auth.h:

* subversion/include/svn_checksum.h:

* subversion/include/svn_client.h:

* subversion/include/svn_cmdline.h:

* subversion/include/svn_dirent_uri.h:

* subversion/include/svn_path.h:

* subversion/include/svn_props.h:

* subversion/libsvn_client/commit_util.c:

* subversion/libsvn_client/copy.c:

* subversion/libsvn_client/deprecated.c:

* subversion/libsvn_client/export.c:

* subversion/libsvn_client/externals.c:

* subversion/libsvn_client/info.c:

* subversion/libsvn_client/merge.c:

* subversion/libsvn_client/mergeinfo.h:

* subversion/libsvn_client/ra.c:

* subversion/libsvn_client/repos_diff.c:

* subversion/libsvn_fs_base/bdb/checksum-reps-table.c:

* subversion/libsvn_fs_base/bdb/checksum-reps-table.h:

* subversion/libsvn_fs_base/bdb/miscellaneous-table.c:

* subversion/libsvn_fs_base/bdb/reps-table.c:

* subversion/libsvn_fs_base/dag.c:

* subversion/libsvn_fs_base/dag.h:

* subversion/libsvn_fs_base/err.h:

* subversion/libsvn_fs_base/fs.c:

* subversion/libsvn_fs_base/reps-strings.c:

* subversion/libsvn_fs_base/tree.c:

* subversion/libsvn_fs_base/tree.h:

* subversion/libsvn_fs_base/util/fs_skels.c:

* subversion/libsvn_fs_fs/dag.h:

* subversion/libsvn_fs_fs/fs_fs.h:

* subversion/libsvn_fs/fs-loader.c:

* subversion/libsvn_fs/fs-loader.h:

* subversion/libsvn_fs_fs/rep-cache.c:

* subversion/libsvn_fs_fs/rep-cache.h:

* subversion/libsvn_fs_fs/tree.c:

* subversion/libsvn_ra/compat.c:

* subversion/libsvn_ra_neon/log.c:

* subversion/libsvn_ra_neon/session.c:

* subversion/libsvn_ra_serf/log.c:

* subversion/libsvn_ra_serf/update.c:

* subversion/libsvn_ra_serf/util.c:

* subversion/libsvn_ra_serf/win32_auth_sspi.c:

* subversion/libsvn_repos/hooks.c:

* subversion/libsvn_repos/log.c:

* subversion/libsvn_repos/repos.h:

* subversion/libsvn_subr/checksum.c:

* subversion/libsvn_subr/cmdline.c:

* subversion/libsvn_subr/config_file.c:

* subversion/libsvn_subr/config_win.c:

* subversion/libsvn_subr/dirent_uri.c:

* subversion/libsvn_subr/dso.c:

* subversion/libsvn_subr/io.c:

* subversion/libsvn_subr/nls.c:

* subversion/libsvn_subr/simple_providers.c:

* subversion/libsvn_subr/sqlite.c:

* subversion/libsvn_subr/ssl_client_cert_pw_providers.c:

* subversion/libsvn_subr/stream.c:

* subversion/libsvn_subr/win32_crypto.c:

* subversion/libsvn_wc/adm_ops.c:

* subversion/libsvn_wc/diff.c:

* subversion/libsvn_wc/props.c:

* subversion/libsvn_wc/status.c:

* subversion/libsvn_wc/tree_conflicts.c:

* subversion/libsvn_wc/tree_conflicts.h:

* subversion/libsvn_wc/update_editor.c:

* subversion/libsvn_wc/wc_db.h:

* subversion/svn/cl.h:

* subversion/svndumpfilter/main.c:

* subversion/svnlook/main.c:

* subversion/svn/propedit-cmd.c:

* subversion/svn/propget-cmd.c:

* subversion/svnserve/main.c:

* subversion/svn/status-cmd.c:

* subversion/svn/tree-conflicts.c:

* subversion/svn/util.c:

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/svntest/

* subversion/tests/cmdline/svntest/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

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

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

* subversion/tests/libsvn_subr/dirent_uri-test.c:

* subversion/tests/libsvn_subr/path-test.c:

* subversion/tests/libsvn_subr/target-test.c:

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

* tools/examples/ Delete trailing whitespace.

  1. … 112 more files in changeset.
Compiler warning cleanups.

* subversion/include/svn_wc.h:

(svn_wc_operation_t): removing trailing comma in enumeration

* subversion/svn/cl.h:

(svn_cl__accept_t): removing trailing comma in enumeration

* subversion/libsvn_subr/sqlite.c:

(svn_sqlite__open): move flags declaration into an inner-block inside

the #ifdef so that compilations against earlier version of SQLite

don't see an unused local variable.

* subversion/libsvn_subr/cache-inprocess.c:

(svn_cache_create_inprocess): remove NULL assignments since the wrapper

structure is created with apr_pcalloc(). the form of the assignment

created weird typing that a strict ISO compilation warned about.

* subversion/libsvn_subr/dso.c:

(svn_dso_initialize, svn_dso_initialize2): add void to declaration.

  1. … 4 more files in changeset.
Bump 'svn_dso_initialize' to 'svn_dso_initialize2' which has a

return type of 'svn_error_t *' with a reason of error.

Fix callers of 'svn_dso_initialize' to make use 'svn_dso_initialize2'

* subversion/include/svn_dso.h

(svn_dso_initialize2): New prototype.

(svn_dso_initialize): Deprecated.

* subversion/libsvn_subr/dso.c

(svn_dso_initialize2): New function.

(svn_dso_initialize): Make use of new 'svn_dso_initialize2' and ignore

error if any.

(svn_dso_load): Make use of 'svn_dso_initialize2' instead of


* subversion/mod_dav_svn/mod_dav_svn.c


* subversion/libsvn_subr/cmdline.c

(svn_cmdline_init): Make use of svn_dso_initialize2

instead of 'svn_dso_initialize'.

Suggested by: stsp


  1. … 3 more files in changeset.
Fix 'svn_dso_initialize' which was *silently* failing to create lock

and causing later accessors to fail.

* subversion/libsvn_subr/dso.c

(svn_dso_initialize): When 'apr_thread_mutex_create' is not successful,


Reviewed by: stsp

Fix several files with svn:eol-style missing.

* subversion/libsvn_subr/constructors.c,



































Set the svn:eol-style=native.

  1. … 34 more files in changeset.
Fix compile error when APR_HAS_DSO is not defined (e.g. on RISC OS).

* subversion/include/svn_dso.h

* subversion/libsvn_subr/dso.c

(svn_dso_load): Only declare the function when APR_HAS_DSO is

defined (required because apr_dso_handle_t also won't be


Patch by: Alex Waugh <>

(Tweaked by me.)

Review by: rooneg

  1. … 1 more file in changeset.
Follow up to r20996 with some cleanups.

* subversion/include/svn_dso.h

(svn_dso_initialize): Make void argument explicit.

* subversion/libsvn_subr/dso.c

(NOT_THERE): Cast to void * to avoid warnings about comparing different

types of pointers.

  1. … 1 more file in changeset.
Make --enable-dso work in the face of global bdb environment caching.

Really this time.

This adds a custom wrapper for APR's dso loading code, which loads the

DSOs into a global pool that will persist long enough that we don't risk

having the DSO unloaded before any cleanup functions it registered are

called. Note that this only works if the new initialization function is

called early enough, otherwise we are still vulnerable to the problem.

Note that I have marked the new functions as being added in 1.4.0, if we

do not backport this revision to 1.4.x then this will have to be changed.

* subversion/include/svn_dso.h: New header.

* subversion/libsvn_subr/dso.c: New function, holds the DSO wrapper code.

* subversion/libsvn_ra/ra_loader.c

Stop including apr_dso.h. Include svn_dso.h.

(load_ra_module): Use svn_dso_load instead of apr_dso_load.

* subversion/libsvn_fs/fs-loader.c

Remove include of apr_dso.h, add include of svn_dso.h.

(load_module): Use svn_dso_load, not apr_dso_load.

* subversion/libsvn_subr/cmdline.c

Include svn_dso.h.

(svn_cmdline_init): Call svn_dso_initialize.

* subversion/mod_dav_svn/mod_dav_svn.c

Include svn_dso.h.

(init_dso): New hook function.

(register_hooks): Register init_dso to be called as early as possible.

  1. … 5 more files in changeset.