Checkout Tools
  • last updated 54 mins ago
Constraints: committers
Constraints: files
Constraints: dates

Changeset 1803127 is being indexed.

Build against the system LZ4 library by default instead of the

internal copy of the LZ4 code. Add --with-lz4=PREFIX|internal

to allow the user to specify either where to find LZ4 or that

the internal copy be used. The Windows build will continue to

use the internal LZ4 code.

* build/ac-macros/lz4.m4: New.

* aclocal.m4: Include lz4.m4.

* Call SVN_LZ4.



* build.conf

(libsvn_subr): Add lz4 to link.

(lz4): New.

* subversion/libsvn_subr/lz4/lz4.h: Rename to ...

* subversion/libsvn_subr/lz4/lz4internal.h: ... this, include

svn_private_config.h, protect with SVN_INTERNAL_LZ4.

* subversion/libsvn_subr/lz4/lz4.c: Include svn_private_config.h and

lz4internal.h, protect with SVN_INTERNAL_LZ4.

* subversion/libsvn_subr/compress.c: Include system lz4.h or lz4internal.h.

* subversion/svn_private_config.hw: Define SVN_INTERNAL_LZ4 to

enable internal copy of LZ4.

  1. … 9 more files in changeset.
Disable static builds of the apache and auth provider modules as

these are only ever used via dlopen() and so only shared modules

are required. As well as removing redundant compilation this

also solves the problem that KDE5, as used by the kwallet auth

provider, does not support compilation without -fPIC.

* build/generator/

(TargetSharedOnlyLib, TargetSharedOnlyCxxLib): New target types to

provide explicit compile/link commands for shared-only builds.

* build.conf

(libsvn_auth_gnome_keyring): Change to shared-only-lib.

(libsvn_auth_kwallet): Change to shared-only-cxx-lib.





shared_only_LDFLAGS): New.

(libsvn_auth_gnome_keyring_LDFLAGS, libsvn_auth_kwallet_LDFLAGS): Remove.


(shared_only_LDFLAGS): New.

(libsvn_auth_gnome_keyring_LDFLAGS, libsvn_auth_kwallet_LDFLAGS): Remove.

  1. … 3 more files in changeset.
Use libsecret to implement the GNOME Keyring provider by default

instead of libgnome-keyring. The GNOME project have deprecated

libgnome-keyring and libsecret is the preferred replacement. The old

implementation using libgnome-keyring can still be chosen at configure

time. Both implementations read and write passwords that can be used

by the other implementation.

The configure option '--with-gnome-keyring' now controls the new

implementation while the option '--with-old-gnome-keyring' controls

the previous implementation.

* build/ac-macros/libsecret.m4: New, provides --with-gnome-keyring.

* Change --with-gnome-keyring to --with-old-gnome-keyring

and disable by default.

* aclocal.m4: Include libsecret.m4.

* subversion/libsvn_auth_gnome_keyring/gnome_keyring.c: Add new

libsecret implementation conditional on SVN_HAVE_LIBSECRET, make old

code conditional on SVN_HAVE_GNOME_KEYRING,

* subversion/libsvn_subr/auth.c

(svn_auth_get_platform_specific_provider): Make already conditional

code depend on SVN_HAVE_LIBSECRET.

* subversion/include/svn_auth.h



* subversion/include/private/svn_cmdline_private.h

(svn_cmdline__auth_gnome_keyring_unlock_prompt): Deprecate.

* subversion/libsvn_subr/prompt.c

(svn_cmdline__auth_gnome_keyring_unlock_prompt): Make conditional.

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

(test_platform_specific_auth_providers): Make already conditional

code depend on SVN_HAVE_LIBSECRET.

  1. … 8 more files in changeset.
Fix SVN-4653: SVN_LOCALE_DIR incorrectly interpolated when prefix is not set explicitly.

* When calculating SVN_LOCALE_DIR, adjust the test for

the default value to account for the new ${dataroot} variable

that was introduced by autoconf 2.60.

Found by: Michael Osipov

Make download Googlemock and Googletest from GitHub.

Also rename gmock->googlemock throughout the code

(except for a few places in

* .: Ignore directory 'googlemock' instaed of 'gmock-fused'.

* Renamed gmock to googlemock.

(GMOCK_VERSION): Bump to 1.7.0

(GMOCK, GMOCK_URL): Update to the new location on GitHub.


(get_googlemock): Updated to download both Googlemock and Googletest sources.

* Renamed gmock to googlemock.

(SVN_USE_GOOGLEMOCK): Fixed one instance that was mistyped.

* build.conf: Renamed gmock to googlemock.

(cxxhl-tests): Updated target definition.

(libgooglemock): Updated source path and sources list.

* Renamed gmock to googlemock.

(GOOGLEMOCK_INCLUDES): Changed, these are now only the include paths that

are needed by tests that use Googlemock, not the Googlemock library itself.

(GOOGLEMOCK_LIB_INCLUDES): New, these are the include paths for the library.

(COMPILE_GOOGLEMOCK_CXX): Use the correct include paths.

  1. … 4 more files in changeset.
Add --enable-apache-whitelist configure option. Subversion's configure

script blacklists some old, buggy, Apache versions and refuses to build

while some distributions ship these old versions with patches to fix

the bugs. Whitelisting an Apache version will override the blacklist

and allow Subversion to build.

Subversion has regression tests for the buggy Apache behaviour and

whitelisting will change the expected behaviour for these tests from

XFAIL to PASS. As an example: using --enable-apache-whitelist=2.4.6

on an up-to-date CentOS 7 will allow Subversion to build and the

regression tests will PASS.

* Add --enable-apache-whitelist.

* build/ac-macros/apache.m4

(SVN_FIND_APACHE): Check whitelist, tweak help text for




(check): Pass --httpd-whitelist.

* build/

(TestHarness.__init__, TestHarness._run_py_test, main): Add httpd_whitelist.

* subversion/tests/cmdline/svntest/

(is_mod_dav_url_quoting_broken): Check whitelist.

(TestSpawningThread.run_one): Handle --httpd-whitelist.

(_create_parser): Add --httpd-whitelist.

  1. … 4 more files in changeset.
Filter out -Wdate-time from SWIG_CPPFLAGS

As part of the reproducible builds effort[0], it's becoming more common to see

-Wdate-time in CPPFLAGS, which is used to seed SWIG_CPPFLAGS. Swig doesn't

understand this switch, so continue the current whack-a-mole approach of

filtering out unsupported switches in SWIG_CPPFLAGS.



(SWIG_CPPFLAGS): Filter out -Wdate-time

* Add -Wno-unused-const-variable as we use const variables

in several internal header files and recent gcc will issue warnings.

* trunk/

Fix message to reflect reality (since before 1.0).

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/

* trunk/

* 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.
Merge the 'svnmover' prototype from the 'move-tracking-2' branch to trunk.

See the dev@ email thread "Merge 'svnmover' demo tool to trunk" started on

2015-11-10, archived at e.g. <>.

This is a reintegration (performed as an automatic merge) followed by

reverting the unwanted parts. As such, those unwanted parts (such as shim

insertions in several libraries) will be treated as 'record-only merged' and

will not be picked up by any subsequent automatic merge to trunk.

A brief description of the changes follows.

* build.conf

Adjust to build the new files.


Adjust compiler warning flags to not warn about passing or returning a

structure, because some of the code does so.


Add the licence text for the embedded 'linenoise' library.

* notes/move-tracking/README

New file, describing this work.

* subversion/include/private/svn_branch.h,






New files.

* subversion/libsvn_delta/branch.c,






New files.

* subversion/include/private/svn_cmdline_private.h




svn_cmdline__stderr_is_a_terminal): New.

* subversion/tests/cmdline/

New file.

* subversion/tests/cmdline/svntest/


run_and_verify_svnmover2): New.

* subversion/tests/cmdline/svntest/


run_svnmover): New.

(execute_tests): Initialize 'svnmover_binary'.

* subversion/tests/cmdline/svntest/

(State): Add 'rename' and 'from_eids' methods.

(StateItem): Add an 'eid' attribute.

* tools/dev/svnmover

New tool.

  1. … 25 more files in changeset.
Use similar detection for a few system headers on Windows and other platforms,

to avoid problems whenever we want to reuse this code and to make it easier

to fix Windows specifics in one place.


Check for stdint.h instead of the less likely to exist inttypes.h, where

we use the include of stdint.h of.

* subversion/libsvn_subr/utf8proc/utf8proc.h

Use standard defines for the headers we need.

* subversion/svn_private_config.hw

Declare defines for Visual Studio.

  1. … 2 more files in changeset.
Require Python ≥2.7 for Subversion 1.9, part 1: documentation and dependency

version checks.


(I.C. Dependencies in Detail):

Document that Python 2.7 is required.

Add statement about Python 3.x.

* subversion/tests/cmdline/README,

* subversion/bindings/swig/INSTALL:

Document that Python 2.7 is required.


* build/,


* (check),

* subversion/tests/cmdline/svntest/

Update comments, version number checks, and error messages.

  1. … 7 more files in changeset.
Support the --enable-runtime-module-search configure option on Mac OS X.

OSX shared libraries have a MAJOR.SOVERSION.dylib suffix instead of the more common on ELF platforms.

* (SVN_DSO_SUFFIX_FMT): New platform-specific variable.

* subversion/libsvn_fs/fs-loader.c (load_module),

* subversion/libsvn_ra/ra_loader.c (load_ra_module):

Use SVN_DSO_SUFFIX_FMT to construct the library name.

  1. … 2 more files in changeset.
Bump required JDK version for JavaHL to 1.6.


* build/ac-macros/java.m4 (SVN_FIND_JDK): Set Java source version to 1.6.

* subversion/bindings/javahl/README:

Update JDK and C++ version requirements. Update the rest of the

doc to match the current state of JavaHL.

  1. … 2 more files in changeset.
* Don't add -lstdc++ on FreeBSD 10 as it is not needed and

adding it causes linking to fail.


followup to r1506554.

* Followup to r1619075, we no longer need to disable the

string-plus-int compiler warning.


(CMAINTAINERFLAGS): Add -Wbad-function-cast, warnings show up in FSX.

Follow-up to r1572261:

* Actually accept APR/APR-Util 1.6.* - 1.9.*. Delete obsolete comment.

Move SVN_UNUSED into a private header.

* subversion/include/svn_types.h

(SVN_UNUSED): Remove and move to ...


(AH_BOTTOM): to here ...

* subversion/svn_private_config.hw

(SVN_UNUSED): and here.

  1. … 2 more files in changeset.
Fix GCC's "always_inline function might not be inlinable" warning.

As it turns out, these functions must also be marked as "inline"

if we want to enforce inlining.

Once at it, make the forced inline macro fall back to at least

APR-defined inlining (instead of no decoration at all) if there

is no way to enforce it.


(AH_BOTTOM): Make SVN__FORCE_INLINE imply APR_INLINE when not in


* subversion/svn_private_config.hw

(SVN__FORCE_INLINE): Fall back to APR_INLINE in non-SVN_DEBUG mode

when not using Visual C.

  1. … 1 more file in changeset.
Allow Swig to use Ruby 2.0 and 2.1.

Patch by: James McCoy <jamessan{_AT_}>

* build/ac-macros/swig.m4

(SVN_FIND_SWIG): Adjust include path for Ruby 2.

* Allow Ruby 2.0 and 2.1.

  1. … 1 more file in changeset.
Remove absurd warning message for ruby.


Ruby 1.9 support is hardly new now and only warning when using exactly 1.9.3

is silly.

Repeat the change made in r1577223, this time also tested on Linux.

Add libintl linker flags to SVN_INTL_LIBS on *nix builds.

Fixes linker flags recorded in libsvn_subr's pkg-config file

which never mentioned -lintl even if required.


* Set SVN_INTL_LIBS to the linker flags required

to link to libintl and export the value of SVN_INTL_LIBS

to the Makefile.

Revert part of r1577223 in an attempt to unbreak the Unix build.

* Don't set SVN_INTL_LIBS thus making it always empty.

Add libintl link flags to SVN_INTL_LIBS on *nix builds.

The SVN_INTL_LIBS variable was referred to but never defined.


* Set SVN_INTL_LIBS to the linker flags required

to link to libintl and export the value of SVN_INTL_LIBS

to the Makefile.

  1. … 1 more file in changeset.
* Don't ignore user-provided LDFLAGS while trying

to detect libmagic. Fixes libmagic detection where configure

relies on LDFLAGS to find libraries in non-standard locations.

* Add quotes around ${abs_srcdir}.

* Tweak .pc generation to handle builddir != srcdir.