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

Changeset 880443 is being indexed.

Scrub trailing whitespace throughout (see r35894).

  1. … 146 more files in changeset.
* build/generator/

(GeneratorBase._find_bdb): Support Berkeley DB 4.8.

Follow-up to r39285:

* build/generator/

(WinGeneratorBase._find_serf): Don't hardcode minimal version of Serf in

a message.

I introduced a bug in my mods to Edmund's patch. He found; here's the fix.

* build/generator/

(_get_serf_version): correct a couple variable names

Fixed such that it checks for the presence of the Serf library

(which it does prior to this patch) and also outputs the library version

(which is what this patch does). It also checks if the serf version >=

0.3.0. If not, ra_serf is not built.

* build/generator/

(_get_serf_version): New function to return the serf library version.

(_find_serf): Added a version check and if a valid version is found,

ra_serf is built; otherwise, it isn't. If the version cannot be

determined, ra_serf will still be built. The user is the informed of

the results.

Patch by: Edmund Wong <>

Suggested by: danielsh

Patch heavily tweaked by: gstein

* build/generator/

(get_install_targets): Following up on r38305, skip swig file generation

if swig_libdir is not available. This matches other tests for swig and

should fix the Windows buildbot.

* build/generator/

(get_install_targets): Remove swig targets if we don't have a swig path.

Follow-up to r37562:

* build/generator/

(WinGeneratorBase._find_swig): Don't use syntax which is supported only by

Python >=2.5.

Follow-up to r37522:

* build/generator/

(WinGeneratorBase._find_swig): Don't try to use 'outfp' when it isn't defined.

Found by: rhuijben

* build/generator/

(WinGeneratorBase._find_swig): Use subprocess.Popen() instead of os.popen4()

for compatibility with Python 3.

Tested by: pburba

On Windows, shared libs for Python bindings should be *.pyd not *.dll.

* build/generator/ (TargetSWIG.add_dependencies): Mark Python

wrapper shared libs as type "pyd" not "lib".

* build/generator/, build/generator/

(Generator._extension_map): Add mappings for the "pyd" object type.

* packages/python-windows/ (package_data): Search for *.pyd.

Patch by: Marc Haesen <>

(Tweaked by me, from

  1. … 3 more files in changeset.
Python 3 compatibility:

Try to import winreg module.

(_winreg was renamed to winreg.)

* build/generator/

(WinGeneratorBase._find_jdk): Try to import winreg module.

Create some infrastructure to add additional constraints/checks within the

WC datastore, for developers only.

* subversion/libsvn_wc/wc-checks.sql: new set of SQL commands to create

triggers to perform checks on all operations in the database.

* subversion/libsvn_wc:

(svn:ignore): ignore the wc-checks.h (generated) file

* clean out the generated wc-checks.h

* build/generator/

(WinGeneratoreBase._create_sqlite_headers): add new .sql file

* subversion/libsvn_wc/entries.c:

(svn_wc__entries_init): if SVN_DEBUG is defined, then exec all the

statements from wc-checks into the new database.

  1. … 4 more files in changeset.
Add support to build and use SQLite amalgamation version on Windows.

This change implements the same behavior as *nix build system does.

* build/generator/

(parse_options): set self.sqlite_path to sqlite-amalgamation

directory if --with-sqlite parameter not specified.

(get_win_defines): Add SVN_SQLITE_INLINE define in SQLite amalgamation used.

(get_win_includes,get_win_lib_dirs): Use headers and libraries from

correct location if we're using SQLite amalgamation.

(get_win_libs): Do not depend on sqlite3.lib if we're using SQLite


(_find_sqlite): Try SQLite amalgamation if compiled SQLite not found

in specified location. Error if SQLite version less than 3.4.0.

Tested by: pburba

More merging from the explore-wc branch to trunk.

Revisions merged, and primary (desired) change:

35412: start generating wc-metadata.sql.h

35708: look for wc.db when checking the wc format

35721: be consistent and use wc-metadata.h

35722: move version detection into wc_db

35762: update svn:ignore on libsvn_wc

35861: correct CLEAN_FILES handling in

After handling a few conflicts, post-merge, I needed to #ifdef out some of

the new sqlite code in entries.c, and tweak svn_wc__db_version().

* subversion/libsvn_wc/entries.c:

(...): plain old merge

(svn_wc__entries_write_old, svn_wc__entries_init): add some #ifdef

guards around the new sqlite code.

* subversion/libsvn_wc/wc_db.c:

(...): plain old merge

(svn_wc__db_version): check for APR_ENOENT from the db version test

  1. … 10 more files in changeset.
Cleanup trailing whitespace:

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

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


This should have been done before the 1.6.x branch, so I'm going to merge

it over there, to avoid merge conflicts in the future.

  1. … 83 more files in changeset.
Oops. Added a paren too many.

* build/generator/

(WinGeneratorBase._create_sqlite_headers): remove paren.

When transforming sql files, for the filename parameter, add '.sql' so

that the guard symbols have the proper extension.

* build/generator/

(WinGeneratorBase._create_sqlite_headers): add .sql to the filename

Found by: Chris Foote <>

Clean up the Python used in, and make it even easier to

use than r35853 (ie. not forced to provide an output file).

* build/

(): use consistent string quoting throughout the file (single quotes)

(usage_and_exit): use a more conventional output form, signifying the

variable values, and that brackets mean "optional". detail the option.

remove a useless backslash.

(main): revise args to take file handles rather than names. use a single

re.sub() rather than a couple replace() calls to turn the filename

into a variable name. in the output, note the user should be running (on Windows, where this script is used). remove an unused

replace() of newlines (the're all gone after the split()), and

simplify the hell out of the "got non-whitespace?" test.

(): adjust the sys.argv handling.

* build/ add a comment to fix emacs syntax coloring

* build/generator/

(WinGeneratorBase._create_sqlite_headers): adjust parameters for


  1. … 2 more files in changeset.
Revert r35748, in accordance with the sentiment described in this thread:

[ There were accidental changes to subversion/tests/cmdline/

committed with the revert. Those changes were themselves reverted in

r35848. ]

  1. … 5 more files in changeset.
* build/generator/

(parse_options): Skip generating libsvn_auth_kwallet and

libsvn_auth_gnome_keyring projects on Windows.

Use '.sql_h' filename extension for headers generated from '.sql' files.

This filename extension (or .sql.h) allows to easier distinguish headers

generated from .sql files.


(fast-clean, .SUFFIXES): Update.

(.sql.h): Rename to ...

(.sql.sql_h): ... this.

* build.conf

(private-built-includes): Update.

* build/generator/

(WinGeneratorBase._create_sqlite_headers): Update.

* subversion/libsvn_fs_fs/rep-cache.c: Include "rep-cache-db.sql_h" instead of


[ Reverted in r35846. ]

  1. … 3 more files in changeset.
A few cleanups for generating the sql headers on windows. I do not have a

Windows build, and thus have no way of testing this.

* build/generator/

(__init__): Update caller.

(_create_sqlite_headers): Renamed from _create_sqlite_header(), and made

a bit more extensible for adding future derived files.

Fix build with BSD make.

* Don't use GNU-specific static pattern ("%.o: %c"-style

syntax) to build a header file from an sql file. Use suffix rules

instead, like the rest of the Makefile already does.

* build.conf,

subversion/libsvn_fs_fs/rep-cache.c: For suffix rules to work, the target

filename may contain only a single dot. So rename rep-cache-db.sql.h to

just rep-cache-db.h.

* build/generator/ Try not to break the Windows build and track

the rename made in build.conf and rep-cache.c.

  1. … 3 more files in changeset.
Python 3 compatibility:

Don't use 'cmp' argument of sort() in 'build' directory.

* build/generator/

* build/generator/

* build/generator/

* build/generator/ Don't use 'cmp' argument of sort().

  1. … 3 more files in changeset.
Follow-up to r35352, fix the Windows build by transforming the rep-sharing

sql schema file into a header file on Windows too.

* Account for rename of to

* build/generator/

(WinGeneratorBase.__init__): Call _find_sqlite().

(WinGeneratorBase._create_sqlite_header): New, does for Windows what and r35352 do for Linux.

* build/ Rename from this...

* build/ this, because needs to import it

and imported modules must follow the same rules for valid variable names.

  1. … 3 more files in changeset.
Following up on r35263, reverted r35252 to re-enable --with-sqlite option to on Windows.

* build/generator/


Reverse merged r35263

  1. … 1 more file in changeset.
Follow-up to r35241, use the sqlite amalgamation included in libsvn_subr

when building on Windows.

[Reverted in r35294]

* build/generator/

(GeneratorBase.parse_options): Remove self.sqlite_path initialization

and parsing of '--with-sqlite' option.

(WinGeneratorBase.__init__): Don't try to find sqlite.



WinGeneratorBase.get_win_libs): Remove sqlite related stuff.

(WinGeneratorBase._find_sqlite): Remove.


(_usage_exit, Options): Remove --with-sqlite option.

  1. … 1 more file in changeset.
Python 3 compatibility:

Import io.StringIO when using Python 3.

* build/generator/

* subversion/bindings/ctypes-python/test/

* subversion/bindings/swig/python/tests/

* subversion/bindings/swig/python/tests/

* subversion/bindings/swig/python/tests/

* subversion/bindings/swig/python/tests/

* subversion/bindings/swig/python/tests/trac/versioncontrol/tests/

* subversion/bindings/swig/python/tests/

* subversion/tests/cmdline/svntest/

* tools/hook-scripts/mailer/ Import io.StringIO when using Python 3.

  1. … 9 more files in changeset.
Follow-up to r34465:

* build/generator/

(WinGeneratorBase.create_dll_target): Use dict.keys() instead of

dict.iterkeys() for compatibility with Python 3.

Fix 'RuntimeError: maximum recursion depth exceeded' in CSVN. The fix isn't

compatible with Python 3, because Python 3 doesn't contain UserDict module.

* subversion/bindings/ctypes-python/csvn/

(Hash._keys): New.

(Hash.keys): Use Hash._keys().

(Hash.items): Renamed from ...

(Hash.iteritems): ... this.

  1. … 1 more file in changeset.