Checkout Tools
  • last updated 4 hours ago
Constraints: committers
Constraints: files
Constraints: dates
Merge the swig-py3 branch to trunk.
  1. … 61 more files in changeset.
* build/generator/

(quote_define): Fix another stupid typo.

Fix compiling Subversion with Visual Studio 2005 and 2008 by properly escaping

the e-mail address we use for the Win32 crash handler.

* build/generator/

(quote_define): New function

* build/generator/

(get_win_defines): Quote e-mail address in defines.

(quote_define): Add function (stub).

  1. … 1 more file in changeset.
Rename the C++HL library to SVN++, renaming files, namespaces and directories.


(SVNXX_INCLUDES): Renamed and changed from CXXHL_INCLUDES.

(COMPILE_SVNXX_CXX): Renamed and changed from COMPILE_CXXHL_CXX.

* build.conf

(options.private-includes): Update C++ bindings' header paths.

(libsvnxx): Rename and update target from libsvncxxhl.

* build/generator/

(Generator.write): Use 'svnxx-' instead of 'cxxhl-' for extra-install check.

* build/generator/

(WinGeneratorBase.get_win_includes): Check for 'svnxx', not 'cxxhl'.

* subversion/bindings/cxx/: Renamed from .../bindings/cxxhl/.

* subversion/bindings/cxx/include/svnxx/: Renamed from .../include/svncxxhl/.

* subversion/bindings/cxx/include/svnxx.hpp: Renamed from .../include/svncxxhl.hpp.

* subversion/bindings/cxx/**: Rename namespaces, include paths and guards.

  1. … 20 more files in changeset.
Move the Windows crash reporter mail out of the source code and into

the build generator, where it belongs.

* build/generator/ (WinGeneratorBase.get_win_defines):

Define the SVN_WIN32_CRASHREPORT_EMAIL symbol at the same time as


* subversion/libsvn_subr/win32_crashrpt.c


(svn__unhandled_exception_filter): Use SVN_WIN32_CRASHREPORT_EMAIL here.

  1. … 1 more file in changeset.
Merge the 'java10-compat' branch to trunk
  1. … 6 more files in changeset.
Bump minimum JDK version required for JavaHL to 1.8, in preparation for the

changes needed to support Java 10

* subversion/bindings/javahl/README

(): Update JDK version requirements.



* build/ac-macros/java.m4

(SVN_FIND_JDK): Set Java source version to 1.8.

* build/generator/

(get_proj_sources): Set Java source and target version to 1.8.

  1. … 3 more files in changeset.
Add some plumbing for the Utf8proc and LZ4 dependencies on Windows.

This avoids receiving the following warnings when running

Warning: Using undeclared dependency '$(SVN_UTF8PROC_LIBS)'.

Warning: Using undeclared dependency '$(SVN_LZ4_LIBS)'.

For now, we only support using the bundled versions of these libraries on

Windows, but this patch (minimally) integrates them into the build env.

* build/generator/

(SVNCommonLibrary.__init__): Add new 'internal' field.

(GenDependenciesBase._find_lz4, GenDependenciesBase._find_utf8proc):

New functions that parse versions of bundled libraries and add them

as internal SVNCommonLibrary objects.

(GenDependenciesBase.find_libraries): Call new functions.

* build/generator/

(WinGeneratorBase.__init__): Separately print all internal libraries.

  1. … 1 more file in changeset.
Remove the project generator support for Visual Studio 6.0, .Net (2002) and

2003. This support is unmaintained for quite some time and these compilers

and their C libraries are not even supported by Microsoft anymore.

* build/generator/

Remove file.

* build/generator/

(get_external_project): Remove function; falling back to ancestor.

* build/generator/

(get_external_project): Remove serf project hack that wasn't used since 1.7.

* build/generator/templates/msvc_dsp.ezt

* build/generator/templates/msvc_dsw.ezt

* build/generator/templates/svn_config.dsp.ezt

* build/generator/templates/svn_locale.dsp.ezt

Remove files.


Update documentation. Make --vsnet-version imply -t vcproj.

  1. … 7 more files in changeset.
In the Windows build mark the DLLs of libsvn_ra, libsvn_fs_base, libsvn_fs_fs,

libsvn_fx as to be delayloaded.

Without this patch these DLLs and their dependencies are always loaded from

code that references them. After this patch the code is dynamically loaded

when first necessary. (In all supported compilers this is implemented as

a per DLL load via the import table, so there is no per function call

performance penalty)

The non-shared-library build is unaffected.

* build.conf




libsvn_ra): Mark as delayload.

* build/generator/

(TargetLib): Load property.

* build/generator/

(write): Calculate dependency dlls to be delayloaded.

* build/generator/

(create_dll_target): Copy property to right target.

* build/generator/templates/vcnet_vcxproj.ezt

Extend linker arguments.

  1. … 4 more files in changeset.
Require Python ≥2.7 for Subversion 1.9, part 2: coding simplifications.

* build/generator/ (hashlib_md5),

* build/ (operator.methodcaller),

* subversion/bindings/swig/python/svn/ (SubversionException.message),

* tools/dev/ (hashlib_md5)

* tools/dist/ (__future__.with_statement):

Remove conditional code for now-unsupported Python versions.

* subversion/bindings/ctypes-python/csvn/ext/

Note a possible code simplification.

  1. … 5 more files in changeset.
Following up on r1692093, also drop optional dependencies when fetching

the dependencies via a different route.

* build/generator/

(get_win_depends): Combine two code paths.

* build/generator/

Stop setting unused self.bdb_lib.

  1. … 1 more file in changeset.
On Windows: drop BDB not found warning, if building without BDB-support.

This makes this code match the *nix configure code.

* build/generator/

(__init__): Remove BDB-warning, if optional 'db' library not found in


* build/generator/

(parse_options): initialize self.bdb_path to None.

(_find_bdb): introduce local variable to determine bdb_path taking

either a specified path (via --with-berkeley-db) or

attempting the legacy default path ('db4-win32')

Only issue the warning, if failing to locate the BDB path

AND the user having explicitly specified the bdb-path.

Patch by: Stefan Hett <stefan{_AT_}>

  1. … 1 more file in changeset.
In the windows project file generator: Stop adding references to optional

libraries that are hardcoded in build.conf, if the library itself is not


* build/generator/

(get_win_depends): Don't add optional dependency libraries, unless the

optional library is actually found.

Apply the standard pre-branch whitespace cleanup via


There should be no functional changes.


* build/generator/

* build/generator/

* 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/

* 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/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* 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/

* tools/dev/benchmarks/RepoPerf/

* tools/dev/

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

* tools/dev/

* tools/dev/x509-parser.c

* tools/diff/diff.c

* tools/dist/

* tools/dist/

* tools/hook-scripts/mailer/

* tools/server-side/svnpubsub/


Remove unneeded whitespace via script.

  1. … 184 more files in changeset.
Following up on r1577164, remove the special '*' argument handling from all

Subversion .exe's except the few that really need this.

After this patch

$ svnmucc.exe propset svn:special "*" URL -m "set svn:special"

will work on Windows, while this would try to evaluate '*' before.

* build.conf


svnadmin): Add setargv.obj to msvc-libs.

* build/generator/

(get_win_libs): Remove magic dependency of all .exe's.

  1. … 1 more file in changeset.
Following up on r1572253, bump serf requirement on Windows.

* build/generator/

* build/generator/

Don't generate serf and zlib projects.

* build/generator/

Don't create build_zlib.bat

Stop filtering serf and zlib projects in specific cases.

* build/generator/

Remove special is_src support that was only needed for

this ugly zlib/serf dependency case.

Bump minimal required serf version.

* build/generator/templates/build_zlib.ezt

* build/generator/templates/serf.dsp.ezt

* build/generator/templates/serf.vcproj.ezt

* build/generator/templates/serf.vcxproj.ezt

* build/generator/templates/zlib.dsp.ezt

* build/generator/templates/zlib.vcproj.ezt

* build/generator/templates/zlib.vcxproj.ezt

Remove unused templates.

* build.conf

Make serf and zlib normal external projects.

  1. … 11 more files in changeset.
Following up on our dependency calculation updates on Windows, resolve an 1.9

regression on our use of libintl, which only shows up when using a shared

library build combined with intl support.

I don't like this hack, but the alternative would be to add intl to +- every

projects' dependencies in build.conf.

* build/generator/


get_win_libs): Reintroduce automatic linkage to libintl.

In the Windows build: make it much easier to apply a define through

all projects when building via project systems such as Visual Studio

by adding an optional -D option to

* build/generator/

(get_win_defines): Add cpp_defines when set.

* build/generator/

Initialize cpp_defines. Parse -D options.


Allow and document -D option.

  1. … 2 more files in changeset.
On further thought just remove support for ASM Zlib entirely.

Since the ASM implementations of Zlib have bugs that we run into there's

no reason anyone should use them. If that changes we can revert this

in the future.


(_usage_exit, __main__): Remove enable-ml option.

* build/generator/

(GenDependenciesBase.parse_options): Remove enable-ml option

(GenDependenciesBase._find_ml): Remove

(GenDependenciesBase._find_zlib): Remove call to _find_ml

* build/generator/

(WinGeneratorBase.__init__, WinGeneratorBase.write_zlib_project_file):

remove use_ml from data sent to ezt.

* build/generator/templates/build_zlib.ezt

(): Remove the code to use the assembler from bat file

  1. … 3 more files in changeset.
In the Windows JavaHL build use a different set of lint flags when compiling

legacy 'org/tigris' legacy code than when we compile the new code.

* build/generator/

(get_proj_sources): Suppress some warnings just for compat code and compat


* build/generator/

Following up on r1544226, really suppress the intended warnings on Windows.

Following up on r1544169, reduce the amount of new java warnings by

the change to a level that allows investigating issues.

* build/ac-macros/java.m4

* build/generator/

Suppress deprecation warnings.

  1. … 1 more file in changeset.
* build/generator/

(get_win_lib_dirs): Following up on r1544171, fix variable reference.

In the windows project generator: resolve a regression in linking swig

libraries when compiling subversion to shared libraries.

Libraries of dependency projects are not available when the

project is turned into a shared library.

* build/generator/


get_win_libs): Link to language specific libraries (E.g. perl516.lib)

from swig project instances for specific languages

* build/generator/

(get_proj_sources): Following up on r1544163 add missing whitespace.

* build/generator/

(get_proj_sources): Add -Xlint flag to the javac invocation.

In the Windows project generator: Turn httpd and mod_dav into 'regular'

dependencies instead of hardcoded magic in the project generator.

* build.conf



mod_dontdothat): Update dependencies.


mod_dav): New external targets.

* build/generator/

(get_win_includes): Remove now unneeded hardcoded include dirs.

(get_win_lib_dirs): Remove now unneeded hardcoded library dirs.

* build/generator/

(find_libraries): Call _find_httpd.

(_find_httpd): New function.

  1. … 2 more files in changeset.
Properly handle the 'when' option in build.conf on Windows. This filters

a few projects that currently can't be build on Windows.

* build/generator/

(get_install_targets): Filter projects that are disabled.

* build/generator/

(_windows_when): New variable.

  1. … 1 more file in changeset.
Re-implement the forced usage of shared libraries for our test suite using a

proper build.conf flag. The updated implementation resolves a few cases where

we linked some applications (E.g. op-depth-test) against both the shared and

the static version of the same library, because direct and indirect

dependencies were handled using different code paths.

This last problem caused test failures on the Windows shared library buildbot,

because svn_error_clear() unhooked a different function for its

maintainer-abort on error leaks, than the other library inserted.

* build.conf

(msvc-force-static): Document.










wc-test): Mark these tests as msvc-force-static they use functions that

aren't published from the libraries that define them.



wc-incomplete-tester): Mark these wc.db test helpers as msvc-force-static.

* build/generator/

(DependencyGraph.remove): New function.

(TargetExe): Read new value from build.conf.

(disable_shared): Don't touch msvc_export.

* build/generator/

(get_install_targets): Handle the magic of forcing static library usage here,

with the code that creates shared libraries.

(create_dll_target): Remove magic name logic.

  1. … 2 more files in changeset.