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

Changeset 873269 is being indexed.

Python 3 compatibility:

Don't use 'has_key'.

* build/generator/

* build/generator/

* build/generator/


* subversion/bindings/swig/python/svn/

* subversion/bindings/swig/python/tests/

* subversion/bindings/swig/python/tests/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/svntest/

* subversion/tests/cmdline/svntest/

* subversion/tests/cmdline/svntest/

* tools/backup/

* tools/bdb/

* tools/bdb/

* tools/client-side/

* tools/dev/

* tools/dev/

* tools/dev/

* tools/examples/

* tools/hook-scripts/mailer/

* tools/hook-scripts/ Use 'in' instead of 'has_key'.

  1. … 21 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.
Save all options including -t and -s to gen-make.opts, to make --reload really works on Windows.


(__main__): Save -t and -s options to gen-make.opts.

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

* build/PrintPath:

* build/

* build/install-sh:

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

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* contrib/client-side/

* contrib/client-side/

* contrib/client-side/svn_load_dirs/

* contrib/cgi/mirror_dir_through_svn.cgi:

* tools/client-side/

* tools/dist/

* tools/hook-scripts/

* tools/hook-scripts/

* tools/hook-scripts/mailer/

* tools/hook-scripts/mailer/tests/

* tools/hook-scripts/mailer/tests/

* tools/hook-scripts/mailer/tests/

* tools/hook-scripts/

* tools/dev/

* tools/dev/

* tools/dev/

* tools/examples/

* tools/examples/

* tools/examples/

* tools/examples/

* tools/examples/

* tools/examples/

* tools/examples/

* tools/examples/

* tools/examples/

* doc/tools/bin/



Set svn:executable property to "*".

  1. … 49 more files in changeset.
Add --installed-libs option, allowing packagers to build parts of svn

(usually bindings) against installed svn libraries.


(swig-pl_DEPS): Remove libsvn_client libsvn_delta libsvn_diff libsvn_fs

libsvn_ra libsvn_repos libsvn_subr libsvn_wc so that swig-pl can be

built against installed libraries, as py and rb already can.

* build/generator/

(Generator.write): Load gen-make.opts and save the list of installed

libraries in self.installed_libs. For libraries in the list, write out

-l lines instead of references to the .la file, and don't attempt to

build that library.


(_usage_exit): Document --installed-libs option.

(): And parse it from sys.argv.

  1. … 2 more files in changeset.
Purge (I think) the source code tree of sqlite stuffs.




* build.conf,

* build/win32/,

* build/generator/,

* build/ac-macros/sqlite.m4

Remove sqlite build stuffs.

* subversion/include/private/svn_fs_mergeinfo.h,

* subversion/include/private/svn_fs_sqlite.h,

* subversion/libsvn_fs_util/mergeinfo-sqlite-index.c,

* subversion/libsvn_fs_util/sqlite-util.h,

* subversion/libsvn_fs_util/sqlite-util.c

Remove sqlite-specific source code files.

* subversion/libsvn_fs_base/tree.c,

* subversion/libsvn_fs_base/dag.c,

* subversion/libsvn_fs_fs/tree.c

Stop including now-missing headers.

* subversion/include/svn_error_codes.h


(SVN_ERR_FS_NO_SUCH_NODE_ORIGIN): Shift value to fill in a hole.

* subversion/libsvn_fs_fs/fs_fs.c

Stop including now-missing headers.

(svn_fs_fs__hotcopy): Don't copy the sqlite index database.

(commit_body): Don't try to update the sqlite mergeinfo index.

(svn_fs_fs__create): Don't try to create the sqlite index database.

* tools/server-side/svn-populate-node-origins-index.c

(usage_summary): Don't mention the sqlite index file.


No longer name sqlite as a dependency.

  1. … 18 more files in changeset.
Make generated solution and project files compatible with VS2008 and

MSBuild 3.5 if the --vsnet-version=2008 option is used.

Patch by: Bert Huijben <>

* build/generator/

Check for new version and use VS2005 solution template

* build/generator/

Allow more versions and set solution and project version for VS2008

Fixed a typo in the error case

* build/generator/vc2005_sln.ezt

Updated to insert "2005" or "2008" based on the selected version.


Updated --help documentation

  1. … 3 more files in changeset.
Channeling Erik Hülsmann, remove all trailing whitespace within our source


for extsn in c h cpp java py pl rb; do

sed -i -e 's/[ \t]*$//' `find . -name "*.$extsn" | xargs grep '[ \t]$' -l`


Inspired by: ehu

  1. … 449 more files in changeset.
Support ra_serf and ra_dav builds on Win32.

* build/generator/

(GeneratorBase): Support --without-neon option.

(WinGeneratorBase.get_install_targets): Don't drop neon and ra_dav targets

unless --without-neon is specified.

(WinGeneratorBase.get_win_defines): Allow SVN_LIBSVN_CLIENT_LINKS_RA_SERF

*and* SVN_LIBSVN_CLIENT_LINKS_RA_DAV to be defined, r25384 allows this now.

(WinGeneratorBase.write_neon_project_file): Skip creation of neon project

file only when --without-neon is specified.


Handle the --without-neon option.

  1. … 1 more file 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.
Support building DLLs on Windows. This closes #1627.

Patch by: Vlad Georgescu <>


(Tweaked by me.)

* build.conf:

(libsvn_client, libsvn_delta, libsvn_diff, libsvn_fs,

libsvn_ra, libsvn_repos, libsvn_subr, libsvn_wc):

Replace the msvc_static option with a msvc_export option containing the

list of public header files for that library.

(swig_client, swig_delta, swig_fs, swig_ra, swig_repos):

Add dependency on APR.

(svnserve): Add dependency on advapi32.lib

* build/generator/

Handle svn_ctype_table.

(_filter_names): Add svn_auth_get_keychain_simple_provider.

* build/generator/

(create_dll_target): New. Given a static library, it creates a new

dynamic library target that depends on that library.

(get_install_targets): Call create_dll_target for each target that has

msvc_export set.

(get_linked_win_depends): Scan the dependency tree in breadth-first

order, allowing us to prevent cases when both a dll and its

corresponding static library are linked into a project.

(get_def_file): Return a name that's in a generated directory, not

in the source tree.

* build/generator/vcnet_vcproj.ezt,


Add empty.c as a source file for dll projects, because Visual Studio

refuses to build a project's outputs if it has no source files.

* build/win32/empty.c: New file.


Handle the new --disable-shared option.

* subversion/libsvn_ra/ra_loader.c

(svn_ra_dav_init, svn_ra_svn_init, svn_ra_local_init, svn_ra_serf_init):

Implement these here if their corresponding libraries are not linked in,

and have them return a "not implemented" error.

* subversion/libsvn_subr/ctype.c

(svn_ctype_table_internal): Rename from ctype_table. Remove 'static'



Append the paths to our libraries' dlls to the PATH environment variable.

  1. … 9 more files in changeset.
Add in --enable-ml to

(Overlooked as part of r22162.)


(_usage_exit): Include description of --enable-ml.

(__main__): Add enable-ml as a valid option.

Modify the build system on Windows to optionally include and link

Cyrus SASL.

Patch by: Vlad Georgescu <>


* build/

(_usage_exit): Document the new '--with-sasl' option.

Add '--with-sasl' to the options list.

* build/generator/

(parse_options): Parse the '--with-sasl' option.

(get_win_defines): Define SVN_HAVE_SASL.

(get_win_includes): Add Cyrus SASL's include directory.

(get_win_lib_dirs): Add Cyrus SASL's library directory.

(get_win_libs): Add libsasl.lib.

  1. … 1 more file in changeset.
For every getopt-using Python script which does not already do so,

use GNU-style getopt if available.


* tools/hook-scripts/

* tools/hook-scripts/

* tools/dev/

* tools/dev/iz/

* tools/dev/iz/

* tools/dev/

* tools/dev/

* tools/examples/

* tools/examples/

* tools/examples/

* tools/examples/

* tools/examples/

* contrib/client-side/

* contrib/hook-scripts/

* build/win32/

  1. … 15 more files in changeset.
Implement generation of project files for building Serf on


NOTE: This doesn't add option to link Subversion with Serf

on Windows. It is only add ability to build ra_serf. Option

to enable Subversion use ra_serf will be committed later.

* build.conf

(serf): Rename external project to be serf instead of libserf,

since we use static linking on Windows.

* build/generator/

* build/generator/

(write): Write serf project file too.

* build/generator/

(parse_options): Parse new option '--with-serf'.

(get_external_project): Change location of serf project,

if serf path is specified.

(get_win_includes): Add serf path to includes list.

(write_serf_project_file): New method for generation serf project


* build/generator/serf.dsp.ezt

* build/generator/serf.vcproj.ezt

New templates for serf project files.


Add new option '--with-serf' to usage text and options list.

  1. … 6 more files in changeset.
Only regenerate SWIG files based on timestamps when we are in non-release mode.


(RELEASE_ARGS): Add variable. Initialize to "--release" in release mode.

(RELEASE_MODE): Build SWIG-related files prior to creating


(_usage_exit, __main__): Accept --release option.

* build/generator/

(GeneratorBase.__init__): Set self.release_mode variable based on --release


* build/generator/

(write): Do not generate dependencies for autogenerating SWIG code when we

are in release mode.

* build/generator/

(Generator.__init__): Pass supplied options to GeneratorBase.__init__.

  1. … 4 more files in changeset.
Add a new Makefile specific option '--assume-shared-libs'.

If you know what you are doing, and all your Subversion libs will build shared,

you can use this to omit inter-lib dependencies to avoid unnecessary rebuilds.

* (main): Simplify unnecessarily cautious test.

(_usage_exit): Describe new option. Also fix unrelated typo.

(if __name__ == '__main__'): Add option to getopt options list.

* build/generator/

(file scope): Add compatibility definitions for True and False.

(Generator.__init__): Parse option into member variable.

(Generator.write section 'Individual target build rules'):

If option set, omit certain dependencies.

  1. … 1 more file in changeset.

Fix typo. Followup to r15944.

Teach the Win32 build generator to use a SWIG that's not in the path.

* Accept option --with-swig.

* build/generator/ (WinGeneratorBase.parse_option): Remember

the value of the --with-swig option in self.swig_path.

(WinGeneratorBase._find_swig): Calculate swlf.swig_exe fom self.swig_path.

(WinGeneratorBase.__init__, .get_proj_sources, ._find_swig_libdir):

Use self.swig_exe to run swig.

(WinGeneratorBase.get_proj_sources): Add -DWIN32 to swig options.

  1. … 1 more file in changeset.
Merge python-bindings-improvements to trunk, by comparing trunkURL with


Major changes:

* Always build SWIG headers in the build dir, unless we are still using

pristine SWIG headers from an official Subversion release (r15865).

* Enable SWIG bindings, even if we compile --without-swig. In release builds,

we can build the bindings without SWIG (r15857).

* Refactor SWIG generator to use a modular architecture, separate from the

Unix / Windows generators (r15855).

Minor changes:

* See r15879, r15870, r15868, r15867, r15857, and r15856.

Approved by: jerenkrantz

  1. … 17 more files in changeset.
Merge python-bindings-improvements to trunk, by comparing trunkURL with


New features:

- Automated Test Suite

* Test suite for memory pools (r15396, r15462)

* Test suite for FS library (r15590, r15632)

* In-build-directory testing (r15478)

* Nightly smoke tests (r15505)

- Automatic Memory Management

* Autogenerated proxy classes for SVN structs (r15428)

* Hand-written proxy classes for APR structs (r15484)

* Real reference counting for Pool objects (r15489, r15495, r15500)

* Treat svn_string_t objects as Python strings (r15595)

* Optional Pool Arguments (r15370, r15529)

- Better Documentation and error messages

* Enabled SWIG autodoc feature (r15490)

* Report assertion failures when variables are deleted prematurely

(r15488, r15489, r15492)

* Python argument numbers in error messages (r15460, r15493, r15525)

- Streamlined build process

* Release versions of Subversion bindings can be built without SWIG (r15620,

r15623, r15626, r15635, r15636, r15637, r15642, r15643)

* Automatic dependency checking for SWIG files (r15381, r15405, r15426,

r15429, r15430)

* Makefile rule for clean-swig-py (r15476)

- Other changes

* Compile-time type lookups for SWIG (r15396, r15407, r15408, r15409,

r15412, r15417)

* Move SWIG includes into include directory (r15407, r15408, r15413)

* Refactoring (r15411, r15425, r15453, r15521, r15522, r15527, r15559)

* SWIG bindings compile with Microsoft Visual C++ 6.0 (r15644)

* Minor bugfixes (r15409, r15494, r15496, r15497, r15498, r15499, r15501,

r15511, r15519, r15526, r15565, r15566, r15591, r15592, r15603, r15607,

r15645, r15646, r15653, r15579)

To see commit logs for this feature, examine

/branches/python-bindings-improvements, r15365:15846

Approved by: kfogel

Review by: dberlin




Testing by: Troy Straszheim <>

Christian Boos <>


  1. … 53 more files in changeset.
Simplify regeneration of build scripts by teaching to

reuse options from a previous invocation. Currenty this only affects

the Win32 build due to build generator specifics, but the feature is


* Add new option "--reload" to re-read the gen-make.opts

generated by the previous invocation of the script.

Further buildsystem cleanup. Add " --debug" option.

* build/generator/

(TargetSWIGRuntime.__init__): Don't leave parent class uninitialized. Take a

descriptive name, for debugging purposes.

(TargetSWIG.add_dependencies, TargetSWIGLib.add_dependencies):

Change the "may use a SWIG runtime" condition from "not java" to "python or

perl", to accomodate the upcoming ruby bindings.

Adapt to TargetSWIGRuntime change.

(TargetJava): Derive from TargetLinked, not TargetLib. Consequently, no need

to "del self.filename".

* Implement a new --debug option, which prints out the generator

internal data structures.

(_objinfo): New support routine.

  1. … 1 more file in changeset.
Build generator: Some cleanups. First, don't list names for generators which

have not been implemented. Second, simplify the Generator interface by removing

the configurable output file name - it was an unused and flawed concept, since

2 of the 3 generators generate multiple files anyway.

* (gen_modules): Remove stub entries for non-implemented generator

modules. It is trivial to add a line here if/when an additional generator

is implemented.

(main): Remove the 'not yet implemented' error, it's no longer accurate.

Remove oname parameter, no longer call default_output, and pass no parameter

to write().

* build/generator/ (Generator.default_output): Remove.

(write): Take no parameters. Use a literal name for the solution file.

* build/generator/ (Generator.default_output): Remove.

(write): Take no parameters. Use a literal name for the workspace file.

* build/generator/ (Generator.default_output): Remove.

(write): Take no parameters. Use a literal name for the output file.

  1. … 3 more files in changeset.
Update the Win32 build and packaging scripts:

-- the location of the Neon sources and libintl can be customised;

-- add some missing libraries and the *.mo files to the distribution.

* Add options --with-neon and --with-libintl.

* build/generator/

(WinGeneratorBase.parse_options): Handle --with-neon and --with-libintl.

(WinGeneratorBase.__init__): Use the neon path parameter when generating


(WinGeneratorBase.get_win_includes): Point at the Neon and libibintl

include directories.

(WinGeneratorBase.get_win_libs): Point at intl.lib.

(WinGeneratorBase.write_neon_project_file): New.

(WinGeneratorBase.move_proj_file): Move here from

and add an optional list of parameters for template generation.

* build/generator/

(Generator.move_proj_file): Move to WinGeneratorBase.

(Generator.write): Use write_neon_project_file to generate neon.vcproj.

* build/generator/

(Generator.write): Use write_neon_project_file to generate neon.dsp.

* build/generator/build_neon.ezt: Parametrize the Neon source path.

* build/generator/neon.dsp.ezt: New. Used to generate neon.dsp.

* build/generator/neon.vcproj.ezt: Don't hardcode the list of Neon files.

* build/win32/neon.dsp: Remove. This file is now generated.

* Optionally copy intl.dll where the test programs

can find it.

* build/win32/

( Correctly handle the case where the path gets expanded

from the config but the file itself doesn't exist.

(InstallMoFiles): New class. Puts *.mo files in the correct place

in the package tree.

(_disttree): Add missing files to the distribution list.

(_make_dist): Add message translations to the base zip file.

* build/win32/make_dist.conf.template: Set default relative path

for Expat libraries.

* build/win32: Ignore all generated .dsp and .vcproj files.

  1. … 11 more files in changeset.
First part of making the vcproj project generator handle multiple versions.


(_usage_exit): Add VS2005 to possible versions list.

* build/generator/

(write_project): Add version to template data.

* build/generator/vcnet_vcproj.ezt

Use version data instead of hardcoded version number.

* build/generator/

(parse_options): Set template data versions based on version option.

  1. … 3 more files in changeset.
Teach the project generator to crate .sln files for different versions

of VS.NET.

* New option --vsnet-version.

* build/generator/ (WinGeneratorBase.parse_options): Parse it.

* build/generator/ (Generator.write): Pass the

VS.NET version string to EZT in the 'version' parameter.

* build/generator/vcnet_sln.ezt: Expand the 'version' parameter in the

format vereion field.

  1. … 3 more files in changeset.
I *said* I don't want to run by default, and why.

I just got bitten by this. Grrrr.

* Accept new option --enable-bdb-in-apr-util.

* build/generator/ (WinGeneratorBase.parse_options):

Handle --enable-bdb-in-apr-util.

(WinGeneratorBase._configure_apr_util): Do nothing unless the

--enable-bdb-in-apr-util option was set.

* INSTALL, build/win32/ Add "--enable-bdb-in-apr-util"

in the right places.

  1. … 3 more files in changeset.
Attempt to allow to stay as native.


Set svn:eol-style to native.


Explicitly call with python rather than depending on the

shebang line to work.

  1. … 1 more file in changeset.