Checkout Tools
  • last updated 22 mins ago
Constraints: committers
Constraints: files
Constraints: dates
Merge the swig-py3 branch to trunk.
  1. … 61 more files in changeset.
Switch all SVN++ tests to Boost.Test.

* build/ac-macros/ax_boost_unit_test_framework.m4: New; imported from the Autoconf Archive.

* LICENSE: Add entry for ax_boost_unit_test_framework.m4.

* aclocal.m4: Include ax_boost_unit_test_framework.m4.



(BOOST_TEST_LDFLAGS): Rename from BOOST_LDFLAGS, redefine.

(COMPILE_SVNXX): Rename from COMPILE_SVNXX_CXX, redefine.


(LINK_SVNXX_TEST): Rename from LINK_CXX_BOOST, redefine.

* build.conf

(libsvnxx, svnxx-tests): Update compile and link commands.

* Update SVN++ bits.

* subversion/bindings/cxx/src/aprwrap/array.hpp:

Add comments to mark obsolete constructs that should change to C++11 idiom.

* subversion/bindings/cxx/src/aprwrap/hash.hpp: Likewise.

* subversion/bindings/cxx/tests/cxxhl-tests.cpp.

* subversion/bindings/cxx/tests/test_aprwrap.cpp: Removed.

* subversion/bindings/cxx/tests/svnxx-tests.cpp,

* subversion/bindings/cxx/tests/fixture_initialize_apr.hpp,

* subversion/bindings/cxx/tests/test_aprwrap_array_helpers.hpp: New.

* subversion/bindings/cxx/tests/test_aprwrap_arrays.cpp,

* subversion/bindings/cxx/tests/test_aprwrap_const_arrays.cpp,

* subversion/bindings/cxx/tests/test_aprwrap_hashes.cpp,

* subversion/bindings/cxx/tests/test_aprwrap_pools.cpp: New; extracted from the

removed test_aprwrap.cpp and reworked for Boost.Test.

* subversion/bindings/cxx/tests/test_exceptions.cpp: Renamed from test_exception.cpp

and reworked for Boost.Test.

  1. … 18 more files in changeset.
Add optional dependency on the Boost C++ libraries for the SVN++ test suite.

* build/ac-macros/ax_boost_base.m4: New; imported from The Autoconf Archive.

* LICENSE, NOTICE: Document the license for ax_boost_base.m4.

* aclocal.m4: Inlcude build/ac-macros/ax_boost_base.m4

* build.conf

(options.private-includes): Add headers from subversion/bindings/cxx/tests.

(svnxx-tests): Declare test target for SVN++.

* Check for Boost availability.



(COMPILE_SVNXX_CXX_BOOST, LINK_CXX_BOOST): New compile and link commands.

  1. … 6 more files in changeset.
Build against the system utf8proc library by default instead of the

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

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

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

internal utf8proc code.

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

* aclocal.m4: Include utf8proc.m4.




* build.conf

(libsvn_subr): Add utf8proc to link.

(utf8proc): New.

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

* subversion/libsvn_subr/utf8proc/utf8proc_internal.h: ... this.

* subversion/libsvn_subr/utf8proc/utf8proc.c: Include svn_private_config.h

and utf8proc_internal.h, protect with SVN_INTERNAL_UTF8PROC.

* subversion/libsvn_subr/utf8proc.c: Include system utf8proc.h or internal


* subversion/svn_private_config.hw: Define SVN_INTERNAL_UTF8PROC to

enable internal copy of utf8proc.

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

(test_utf_fuzzy_escape): Allow for small output difference between

utf8proc 1.x and 2.x.

  1. … 10 more files in changeset.
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.
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.
Followup to r1449023 (which removed GSSAPI from configure), remove the

remnants of GSSAPI.

* aclocal.m4: Remove include.

* Remove variable.

* build.conf:

(gssapi): Remove section.

(libsvn_ra_serf): Adjust link.

* svn_error_codes.h


  1. … 3 more files in changeset.
Reintegrate tweak-build-take-two branch to trunk.

Summary of changes:

** Split standards-compliance mode and maintainer mode compiler flags

out of CFLAGS, so that compilation command lines that do not

generate (too many) warnings or are not forced to comply with ISO

C '90 can be constructed without having to resort to stripping

individual flags out of CFLAGS.

$ svn diff -r1424288:1424822 \

^/subversion/branches/tweak-build-take-two/ \

^/subversion/branches/tweak-build-take-two/aclocal.m4 \

^/subversion/branches/tweak-build-take-two/build/ac-macros/compiler.m4 \


** Now that warning and standards-compliance mode macros are no

longer part of CFLAGS, stop stripping them in the Swig wrapper

configury, except for Ruby, which is more delicate.

$ svn diff -r1424329:1425040 \


** Allow optimization and debugging to coexist, including in

maintainer mode, adding a new configure option

--enable-optimize. Neither --enable-optimize nor --enable-debug

will override any optimization or debugging flags set by the user

in C(XX)FLAGS at configure time. If debugging and optimization are

enabled at the same time, we will try to use -O1, then -O; if

debuggin is not enabled, we will try -O2 first.

$ svn diff -c1424860 \


** Remove an obsolete autoconf macro that was not used anywhere and

is superceded with SVN_CFLAGS_ADD_IFELSE.

$ svn diff -c1424297 \


** Move the sqlite-amalgamation directory from the root of the source tree

under subversion/include/private to make include paths safer from

possible collision with sqlite include files from other install locations.

$ svn diff -c1425050 \


** Allow a user to set a custom set of compiler flags at configure time that

are used for Subversion sources, but not, e.g., Swig-generated sources,

like this:

$ ./configure CUSERFLAGS=--flags-for-C CXXUSERFLAGS=--flags-for-C++

$ svn diff -c1425086 \


  1. … 14 more files in changeset.
Remove some neon references still lingering about.


(get_deps): No reason to warn that we won't be downloading neon if the neon

directory exists, since we won't be downloading neon anyway.

* build/win32

(svn:ignore): build_neon.bat shouldn't be being produced. Let people realize

they can delete this obsolete file.

* subversion/bindings/swig/python/tests/

(test_namestring): ra_neon is gone and ra_svn supports get_client_string so

allow the test to run against svn:// and make the comment accurate.

* subversion/bindings/swig/perl/native/

(SVN::Auth::SSL::OTHER): Update documentation to not refer to a specific

http lib.

* subversion/bindings/swig/perl/native/

(@ldpaths): Don't include libsvn_ra_neon in the library paths.

* aclocal.m4: Don't include the neon.m4 file.

  1. … 5 more files in changeset.
Kill off configury for qsort_r. The hassle of trying to use the fifteen different

implementations is bigger than the benefit.

* aclocal.m4: Do not include build/ac-macros/qsort_r.m4.

* Remove qsort buts from AH_BOTTOM and don't call SVN_FUNC_QSORT_R.

* build/ac-macros/qsort_r.m4: Delete.

* subversion/svn_private_config.hw (HAVE_QSORT_R, SVN_QSORT_R): Remove.

  1. … 3 more files in changeset.
Groundwork for issue #4261 (require --force to set unknown svn: prop names).

* build/ac-macros/qsort_r.m4: New file.

(SVN_FUNC_QSORT_R): New config test. Checks if qsort_r is available

and if it is, determines the order of its arguments.

* aclocal.m4: Include build/ac-macros/qsort_r.m4.


Define SVN_QSORT_R wrapper for subversion/svn_private_config.h

* subversion/svn_private_config.hw (SVN_QSORT_R): Define wrapper for Windows.

  1. … 3 more files in changeset.
Display Mac OS release name with svn --version --verbose.

* Remove KeyChain test to build/ac-macros/macosx.m4.

* aclocal.m4: Include build/ac-macros/macosx.m4.

* build/ac-macros/macosx.m4: New file.

(SVN_LIB_MACOS_PLIST): New. Check for Mac OS property list utilities.

(SVN_LIB_MACOS_KEYCHAIN): New. Implementation moved from

Don't check anything if SVN_LIB_MACOS_PLIST failed.

* subversion/libsvn_subr/sysinfo.c: Include apr_strings.h.

[SVN_HAVE_MACOS_PLIST]: Include CoreFoundation/CoreFoundation.h.

(svn_sysinfo__release_name): Conditionionally call macos_release_name.

(system_version_plist, value_from_dict,

release_name_from_version, macos_release_name): New, conditional.

  1. … 3 more files in changeset.
More license updates.

* build/win32/make_gem.rb,



Add ALv2 blurb.

* tools/dist/rat-excludes:

Add *.rtf to our excluded files.

  1. … 3 more files in changeset.
Set svn:eol-style=native on some files.

* aclocal.m4:


* build/

* build/

* build/

* build/win32/

* contrib/client-side/svn2cl/

* contrib/client-side/svnmerge/

* contrib/hook-scripts/

* contrib/server-side/

* contrib/server-side/

* contrib/server-side/

* contrib/server-side/svnstsw/

* contrib/server-side/svnstsw/conf/find_apr.m4:

* contrib/server-side/svnstsw/

* contrib/server-side/svnstsw/conf/stsw_func_snprintf_broken.m4:

* contrib/server-side/svnstsw/conf/stsw_lib_apr.m4:

* contrib/server-side/svnstsw/conf/stsw_prog_doxygen.m4:

* contrib/server-side/svnstsw/doc/

* contrib/server-side/svnstsw/doc/man/

* contrib/server-side/svnstsw/doc/man/

* contrib/server-side/svnstsw/doc/man/

* contrib/server-side/svnstsw/doc/man/

* contrib/server-side/svnstsw/doc/man/

* notes/tree-conflicts/

* packages/rpm/rhel-3/

* packages/rpm/rhel-4/

* packages/rpm/rhel-5/

* packages/solaris/

* packages/solaris/

* subversion/bindings/swig/perl/native/

* subversion/libsvn_wc/workqueue.c:

* subversion/libsvn_wc/workqueue.h:

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* tools/buildbot/slaves/i686-debian-sarge1/

* tools/buildbot/slaves/i686-debian-sarge1/

* tools/buildbot/slaves/i686-debian-sarge1/

* tools/buildbot/slaves/i686-debian-sarge1/

* tools/buildbot/slaves/osx10.4-gcc4.0.1-ia32/

* tools/buildbot/slaves/osx10.4-gcc4.0.1-ia32/

* tools/buildbot/slaves/osx10.4-gcc4.0.1-ia32/

* tools/buildbot/slaves/osx10.4-gcc4.0.1-ia32/

* tools/dev/

* tools/dev/iz/

* tools/dev/

* tools/dev/svnraisetreeconflict/main.c:

* tools/dist/

* tools/dist/

* tools/dist/

* tools/dist/

* tools/dist/

* tools/po/

* www/ Set svn:eol-style=native.

  1. … 53 more files in changeset.
Use an installed GSSAPI library to get Kerberos authentication support in


* build/ac-macros/gssapi.m4:

(SVN_RA_SERF_LIB_GSSAPI): New macro that finds a gssapi installation.

* aclocal.m4: Include build/ac-macros/gssapi.m4

* Call SVN_RA_SERF_LIB_GSSAPI and set the right defines to

enable Kerberos authentication in ra_serf.

* Add in necessary values to let the build system know where

to find the gssapi include and lib files.

* build.conf

(gssapi): Add gssapi as a known lib, so that the build system will pull in

the right linker flags.

* subversion/libsvn_ra_serf/auth.c

* subversion/libsvn_ra_serf/auth_kerb.c


  1. … 6 more files in changeset.
Move the KWallet autoconf code out of

* build/ac-macros/kwallet.m4:



Yank KWallet checking in favor of the imported macro.

* aclocal.m4:

Include the new file.

  1. … 2 more files in changeset.
Integrate ctypes-python into the Subversion build infrastructure.

* aclocal.m4: Add include for build/ac-macros/ctypesgen.m4

* Updated to check for ctypesgen.

* (local-extraclean, local-clean): Updated prerequisites to clean

the ctypes-python build artifacts.

(ctypes-python, install-ctypes-python, check-ctypes-python,

clean-ctypes-python, extraclean-ctypes-python): New make targets.

* build/ac-macros/ctypesgen.m4: Added.

* subversion/bindings/ctypes-python/ (validation_options): Change search

paths for dependencies.

(build_functions_py): Use new variable pointing to

* subversion/bindings/ctypes-python/TODO: Removed the two items this commit

takes care of and add a new item for getting the ctypes-python to build

without requiring a Subversion installation.

Approved by: djames

  1. … 5 more files in changeset.
Add SQLite to the config/build process. It is (currently) an optional

dependency and not (yet) used by any libraries.

This reverts parts of r29036 and r29047.


(SVN_SQLITE_LIBS): new symbol to hold configure'd location of SQLite libs

(INCLUDES): add SQLite headers to the includes

* build.conf:

(sqlite): define new library as an external library

* build/win32/

(_disttree): add optional distro files for SQLite

* build/generator/

(GeneratorBase.parse_options): initialize .sqlite_path

(WinGeneratorBase.__init__): commented-out check for SQLite validity

(WinGeneratorBase.get_win_includes): add sqlite

(WinGeneratorBase.get_win_lib_dirs): add sqlite

(WinGeneratorBase.get_win_libs): add sqlite

* add section to locate SQLite

* add --with-sqlite switch (for Windows)

* aclocal.m4: include new sqlite.m4, and order includes alphabetically

* build/ac-macros/sqlite.m4: new M4 file to locate SQLite

  1. … 7 more files in changeset.
Merge the in-memory-cache branch to trunk.

See that branch's log for full details, but in short:

The branch rewrote various in-memory caches in FSFS to use a unified

API. By default this API is implemented by some in-process hashes,

but via a configuration file (db/fsfs.conf), it can use memcached

instead. Additionally, expanded fulltexts are cached if memcached is


memcached is accessed with the apr_memcached API, which will be in a

future version (1.3.x branch, now) of apr-util, and is also available as an

separately-distributed library. The build system knows how to deal

with both.

Other things that changed:

* The test suite now has a config file; currently, the config file is

just used as the FSFS config file for any created repositories.

* New random APIs: svn_base64_encode_string2, svn_stream_from_string.

* ra_local ignores "FS warnings" instead of aborting.

  1. … 48 more files in changeset.
Fix building with Libtool 2.2.


Add --force option to libtoolize.

Copy ltoptions.m4, ltsugar.m4, ltversion.m4 and lt~obsolete.m4 to build.


Use LT_INIT instead of AC_PROG_LIBTOOL when LT_INIT is defined.

* aclocal.m4:

Include ltoptions.m4, ltsugar.m4, ltversion.m4 and lt~obsolete.m4.


(local-extraclean): Delete ltoptions.m4, ltsugar.m4, ltversion.m4 and


* build:

Update svn:ignore property to ignore ltoptions.m4, ltsugar.m4, ltversion.m4

and lt~obsolete.m4.

  1. … 4 more files in changeset.
Follow-up to r26993.

* aclocal.m4: s/ in comments.

* aclocal.m4

Remove include of sqlite.m4 (deleted in r29036).

Rename (deprecated name) to

* Move...

* here.

* aclocal.m4: Update comment.

  1. … 2 more files in changeset.
Rename 'svn-apache.m4' to drop the 'svn-' prefix, for consistency with all the

otherdependency-handling m4 files.

* build/ac-macros/svn-apache.m4: Rename...

* build/ac-macros/apache.m4: here.

* aclocal.m4: Update.

  1. … 2 more files in changeset.
Remove dependency upon pkg-config's M4 files just to find sqlite (!).

More work may need to be done to make libsvn_ra_local truly optional, but this

gets trunk building again.

* build/ac-macros/sqlite.m4: New macros for finding SQLite.

* Follow our standard conventions for finding packages.

* Do not depend upon pkg.m4.

* aclocal.m4: Depend upon sqlite.m4 - not pkg.m4.

  1. … 3 more files in changeset.
Merge the merge-tracking branch to trunk.

See notes/merge-tracking.txt for work remaining. Copy test #11,

"working-copy to repository copy", is known to be failing over ra_dav.

A fix has been outlined, and it will be coded up ASAP.

  1. … 85 more files in changeset.
Allow the path to a zlib install to be passed at configure-time via


(MinGW does not include zlib by default.)

* build/ac-macros/zlib.m4

(SVN_LIB_Z): New file to contain zlib detection macros plus --with-zlib


* Move zlib checks to zlib.m4 and call SVN_LIB_Z macro.




* aclocal.m4: Pull in the new zlib.m4.

  1. … 3 more files in changeset.
Update the Unix build system to link Cyrus SASL into svnserve, if

Cyrus SASL is available.

NOTE: We don't actually use the Cyrus SASL library yet, but we are

planning to do so.

Patch by: Vlad Georgescu <>

Review by: me

* build/ac-macros/sasl.m4: New file.



(SVN_SASL_LIBS): New AC_SUBSTed variables.


* aclocal.m4

Add build/ac-macros/sasl.m4 to the list of supplementary macros.

* build.conf

(sasl): New entry.

(libsvn_ra_svn, svnserve): Add sasl to the list of dependencies.

  1. … 4 more files in changeset.
Add in initial stubs for libsvn_ra_serf.

ra_serf is mutually exclusive with ra_dav (neon). Therefore, it requires neon

to be disabled. (Pass "--with-serf=<serf install path> --without-neon".)

* subversion/libsvn_ra_serf/serf.c: Add stub file that implements bare minimum

required to build new ra layer library.

* subversion/libsvn_ra/ra_loader.c

(ra_libraries): Add define for serf

* subversion/libsvn_ra/ra_loader.h, subversion/include/svn_ra.h

(svn_ra_serf__init, svn_ra_serf_init): Add stub loader prototypes.

* build.conf

(libsvn_ra_dav): Update comment to mention that this ra module uses neon

(libsvn_ra_serf): Add in entries for libsvn_ra_serf

* build/ac-macros/serf.m4

(SVN_LIB_SERF): Add in m4 macro to find a serf install.

* aclocal.m4: Include build/ac-macros/serf.m4

* Call SVN_LIB_SERF and set the right defines to enable ra_serf.

* Add in necessary values to let the build system know where

serf is and be able to install libsvn_ra_serf.

  1. … 9 more files in changeset.
Dispose of the somewhat out-of-place top-level ac-helpers/ directory, simply

using build/ for those files.

* (local-extraclean), (AC_CONFIG_AUX_DIR, INSTALL),, aclocal.m4: Adjust paths.

* build/install-sh: Moved from ac-helpers.

* ac-helpers/: Delete.

  1. … 5 more files in changeset.