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

Changeset 878379 is being indexed.

* 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.
Python 3 compatibility:

Use dict.keys(), dict.values() and dict.items() instead of dict.iterkeys(),

dict.itervalues() and dict.iteritems().

Use list(dict.keys()), list(dict.values()) and list(dict.items()) instead of

dict.keys(), dict.values() and dict.items(). Function calls with 'for', 'in' or

len() weren't updated.

* build/generator/

* build/generator/

* build/generator/

* build/generator/

* build/win32/


* subversion/bindings/ctypes-python/csvn/

* subversion/bindings/ctypes-python/examples/

* subversion/bindings/ctypes-python/examples/

* subversion/bindings/swig/python/tests/

* subversion/bindings/swig/python/tests/

* subversion/bindings/swig/python/tests/

* subversion/tests/cmdline/

* subversion/tests/cmdline/svntest/

* tools/bdb/

* tools/dev/

* tools/dev/

* tools/dev/

* tools/dev/

* tools/dev/

* tools/examples/

* tools/hook-scripts/mailer/

* tools/hook-scripts/ Use dict.keys(), dict.values() and

dict.items() instead of dict.iterkeys(), dict.itervalues() and

dict.iteritems(). Use list(dict.keys()), list(dict.values()) and

list(dict.items()) instead of dict.keys(), dict.values() and dict.items().

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

Use list comprehensions or list(filter()) instead of filter().

* build/generator/

* build/

* subversion/tests/cmdline/

* subversion/tests/cmdline/svntest/

* subversion/tests/cmdline/svntest/

* subversion/tests/cmdline/svntest/

* tools/examples/

* tools/hook-scripts/mailer/

* Use list comprehensions or list(filter()) instead of filter().

  1. … 8 more files in changeset.
Delete trailing whitespace.

Follow-up to r26317 and r27598.

* build/generator/

* build/generator/

* build/generator/

* contrib/client-side/svnmerge/

* subversion/bindings/ctypes-python/csvn/

* subversion/bindings/ctypes-python/csvn/

* subversion/bindings/ctypes-python/examples/

* subversion/bindings/ctypes-python/

* subversion/bindings/ctypes-python/test/

* subversion/bindings/ctypes-python/test/

* subversion/bindings/ctypes-python/test/

* subversion/bindings/ctypes-python/test/

* subversion/bindings/ctypes-python/test/

* subversion/bindings/javahl/src/org/tigris/subversion/javahl/

* subversion/include/private/svn_auth_private.h:

* subversion/include/private/svn_sqlite.h:

* subversion/include/private/svn_wc_private.h:

* subversion/include/svn_auth.h:

* subversion/include/svn_checksum.h:

* subversion/include/svn_client.h:

* subversion/include/svn_cmdline.h:

* subversion/include/svn_dirent_uri.h:

* subversion/include/svn_path.h:

* subversion/include/svn_props.h:

* subversion/libsvn_client/commit_util.c:

* subversion/libsvn_client/copy.c:

* subversion/libsvn_client/deprecated.c:

* subversion/libsvn_client/export.c:

* subversion/libsvn_client/externals.c:

* subversion/libsvn_client/info.c:

* subversion/libsvn_client/merge.c:

* subversion/libsvn_client/mergeinfo.h:

* subversion/libsvn_client/ra.c:

* subversion/libsvn_client/repos_diff.c:

* subversion/libsvn_fs_base/bdb/checksum-reps-table.c:

* subversion/libsvn_fs_base/bdb/checksum-reps-table.h:

* subversion/libsvn_fs_base/bdb/miscellaneous-table.c:

* subversion/libsvn_fs_base/bdb/reps-table.c:

* subversion/libsvn_fs_base/dag.c:

* subversion/libsvn_fs_base/dag.h:

* subversion/libsvn_fs_base/err.h:

* subversion/libsvn_fs_base/fs.c:

* subversion/libsvn_fs_base/reps-strings.c:

* subversion/libsvn_fs_base/tree.c:

* subversion/libsvn_fs_base/tree.h:

* subversion/libsvn_fs_base/util/fs_skels.c:

* subversion/libsvn_fs_fs/dag.h:

* subversion/libsvn_fs_fs/fs_fs.h:

* subversion/libsvn_fs/fs-loader.c:

* subversion/libsvn_fs/fs-loader.h:

* subversion/libsvn_fs_fs/rep-cache.c:

* subversion/libsvn_fs_fs/rep-cache.h:

* subversion/libsvn_fs_fs/tree.c:

* subversion/libsvn_ra/compat.c:

* subversion/libsvn_ra_neon/log.c:

* subversion/libsvn_ra_neon/session.c:

* subversion/libsvn_ra_serf/log.c:

* subversion/libsvn_ra_serf/update.c:

* subversion/libsvn_ra_serf/util.c:

* subversion/libsvn_ra_serf/win32_auth_sspi.c:

* subversion/libsvn_repos/hooks.c:

* subversion/libsvn_repos/log.c:

* subversion/libsvn_repos/repos.h:

* subversion/libsvn_subr/checksum.c:

* subversion/libsvn_subr/cmdline.c:

* subversion/libsvn_subr/config_file.c:

* subversion/libsvn_subr/config_win.c:

* subversion/libsvn_subr/dirent_uri.c:

* subversion/libsvn_subr/dso.c:

* subversion/libsvn_subr/io.c:

* subversion/libsvn_subr/nls.c:

* subversion/libsvn_subr/simple_providers.c:

* subversion/libsvn_subr/sqlite.c:

* subversion/libsvn_subr/ssl_client_cert_pw_providers.c:

* subversion/libsvn_subr/stream.c:

* subversion/libsvn_subr/win32_crypto.c:

* subversion/libsvn_wc/adm_ops.c:

* subversion/libsvn_wc/diff.c:

* subversion/libsvn_wc/props.c:

* subversion/libsvn_wc/status.c:

* subversion/libsvn_wc/tree_conflicts.c:

* subversion/libsvn_wc/tree_conflicts.h:

* subversion/libsvn_wc/update_editor.c:

* subversion/libsvn_wc/wc_db.h:

* subversion/svn/cl.h:

* subversion/svndumpfilter/main.c:

* subversion/svnlook/main.c:

* subversion/svn/propedit-cmd.c:

* subversion/svn/propget-cmd.c:

* subversion/svnserve/main.c:

* subversion/svn/status-cmd.c:

* subversion/svn/tree-conflicts.c:

* subversion/svn/util.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/svntest/

* subversion/tests/cmdline/svntest/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/libsvn_repos/repos-test.c:

* subversion/tests/libsvn_subr/checksum-test.c:

* subversion/tests/libsvn_subr/dirent_uri-test.c:

* subversion/tests/libsvn_subr/path-test.c:

* subversion/tests/libsvn_subr/target-test.c:

* subversion/tests/libsvn_wc/tree-conflict-data-test.c:

* tools/examples/ Delete trailing whitespace.

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

Use list comprehensions or list(map()) instead of map().

* build/generator/

* build/generator/

* build/generator/

* build/generator/

* build/generator/swig/

* build/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/

* subversion/tests/cmdline/svntest/

* subversion/tests/cmdline/svntest/

* subversion/tests/cmdline/svntest/

* subversion/tests/cmdline/

* tools/bdb/

* tools/dev/iz/

* tools/dev/

* tools/dist/

* tools/hook-scripts/mailer/

* Use list comprehensions or list(map()) instead of map().

  1. … 20 more files in changeset.
Following up on r33539, perform some code cleanup in

* build/generator/

(GeneratorBase._find_swig), (GeneratorBase._find_neon),

(GeneratorBase._find_apr), (GeneratorBase._find_apr_util),


Don't compile regexes only used once, and use map() to remove doing

the same conversion three times.

Suggested by: gstein

Add some extra SQLite detection to the windows project generator. Return an

error when SQLite is not found and a warning when the version is not

up to date.

This behavior matches that of apr, zlib and other dependencies.

* build/generator/

(GeneratorBase.parse_options): Default sqlite_path to 'sqlite' instead

of None.

(GeneratorBase.__init__): Don't return an error if sqlite_path is not

set. Call _find_sqlite() to check sqlite installation and version.

(GeneratorBase._find_sqlite): Add new function that verifies that sqlite

is available and checks the SQLite version (>= 3.4 now).