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

Changeset 1879221 is being indexed.

* buildbot/slaves/win32-SharpSvn/svntest-bindings.cmd

Explicitly run swig python tests with python2 for now.

* tools/backup/

Remove unnecessary semicolons.

Make the script work with Python 3.

* tools/backup/

Use functools.cmp_to_key() for sorting conversions, and decode the

output from svnlook.

Patch by: Petyovský Petr <petyovsky{_AT_}>

* tools/dist/release-lines.yaml: Update supported release list for

1.14 is our new supported release, and 1.10 is also still supported.

The 1.13 and 1.9 release lines both drop out of support.

Follow-up to r1876670:

Fix another problem where the bb-openbsd cleanup step attempts to run

'svn cleanup' on a working copy that does not exist:

+ test -d ../build/.svn

program finished with exit code 1

* tools/buildbot/slaves/bb-openbsd/ Don't abort the script if

the working copy directory does not exist.

Fix an TypeError exception in ' create-tag'.

Regular expression matching failed due to lack of an explicit encoding

for files modified during the post-release housekeeping step.

The exception was observed with Python 3.7.7 and looked as follows:

INFO:root:Bumping version numbers on the branch

Traceback (most recent call last):

File "/home/stsp/svn/svn-trunk/tools/dist/", line 1916, in <module>


File "/home/stsp/svn/svn-trunk/tools/dist/", line 1912, in main


File "/home/stsp/svn/svn-trunk/tools/dist/", line 1134, in create_tag_and_bump_versions


File "/home/stsp/svn/svn-trunk/tools/dist/", line 1108, in bump_versions_on_branch

str(args.version.patch), str(new_version.patch))

File "/home/stsp/svn/svn-trunk/tools/dist/", line 1078, in replace_in_place

replacement = re.sub(pattern, repl, line)

File "/usr/local/lib/python3.7/", line 192, in sub

return _compile(pattern, flags).sub(repl, string, count)

TypeError: cannot use a string pattern on a bytes-like object

* tools/dist/

(bump_versions_on_branch): Create temporary file handles with an explicit

encoding argument (assume UTF-8).

* tools/dev/unix-build/Makefile.svn: Stop testing BDB repositories by default.

* tools/dev/unix-build/Makefile.svn: Switch the bb-openbsd-buildbot to the

current releases of APR and APR-util.

* tools/buildbot/slaves/bb-openbsd/ Do not fail at 'svn cleanup'

step if no working copy exists yet.

Introduce 'svnadmin build-repcache' command.

Implement the 'svnadmin build-repcache' CLI and add an ioctl API for building

the representation cache.

The implementation iterates over revisions in the specified range and recursively

processes the changed nodes, starting from the corresponding revision roots.

For each changed node, it ensures that its data and property representations

exist in the rep-cache. The nodes are processed in the same order as when

committing a transaction (see write_final_rev() function in libsvn_fs_fs/transaction.c),

so that the rep-cache.db files are fully consistent.

* subversion/svnadmin/svnadmin.c

(cmd_table): Add and document the 'build-repcache' command.



build_rep_cache_progress_func): New.

* subversion/include/svn_error_codes.h



* subversion/include/private/svn_fs_fs_private.h



* subversion/libsvn_fs_fs/fs.c

(fs_ioctl): Handle SVN_FS_FS__IOCTL_BUILD_REP_CACHE.

* subversion/libsvn_fs_fs/fs_fs.h

* subversion/libsvn_fs_fs/fs_fs.c

(): Include 'low_level.h'.



ensure_representation_sha1): New. Iterate over revisions and recursively

process the changed nodes. For each changed node, ensure that its data

and property representations exist in the rep-cache.

* subversion/tests/cmdline/

(build_repcache): New test.

(test_list): Add the new test.

* subversion/tests/libsvn_fs_fs/fs-fs-private-test.c

(): Include 'libsvn_fs_fs/rep-cache.h' and 'libsvn_fs/fs-loader.h'.

(build_rep_cache): New test.

(test_funcs): Add the new test.

* tools/client-side/bash_completion

(_svnadmin): Add the 'build-repcache' command.

Patch by: Denis Kovalchuk <>

  1. … 8 more files in changeset.
Fix various typos detected by codespell.

* tools/buildbot/slaves/README, tools/buildbot/slaves/svn-x64-macosx/,

tools/dev/, tools/dev/,

tools/dev/mergegraph/, tools/dev/,

tools/dev/x509-parser.c, tools/dist/, tools/dist/,

tools/dist/, tools/examples/

(): Spelling fixes

* tools/dev/unix-build/Makefile.svn: Run htpasswd with LD_LIBRARY_PATH set.

This fixes a problem on my system where htpasswd could not find the db lib

built by this makefile and therefore failed to load, preventing httpd setup

and serf tests. See dev@ mail thread "Late night unix-build weirdness" on

2020/03/27 archived at:

Reviewed by: stsp

* tools/dist/ Correct & clarify error message reference to --branch option.
* everywhere: Run tools/dev/ to remove

trailing whitespace before we branch 1.14.

  1. … 93 more files in changeset.
* tools/dist/release-lines.yaml: Declare build deps for 1.14 (same as 1.13)

* tools/buildbot/slaves/bb-openbsd/ Detect skipped

Python bindings tests and do not flag the tests as failed if they occur.

Another follow-up to r1875129:

* tools/dev/unix-build/Makefile.svn: Drop a ruby patch which isn't useful.

Follow up to r1875122: Actually fix (some of?) the crashes in Ruby.

* tools/dev/unix-build/Makefile.svn: Add more fixes I came up with while

debugging Ruby crashes. Patches still relevant to current versions of

Ruby (we're still on 2.4) have been submitted upstream.

Also, re-create the ruby patch properly instead of appending to an

existing patch file if already present.

* tools/dev/unix-build/Makefile.svn: Add patch for Ruby which will hopefully

fix the bus errors we have been seeing on the svn-bb-openbsd buildbot.

I haven't yet confirmed that this really fixes the issue but since the

crash happens sporadically there is only one way to find out.

I have also found out that OpenBSD's port of Ruby disables the crashing

code path on sparc64. Which is a bandaid, not a real fix since the problem

could affect other platforms as well.

Follow-up to r1875103:

* tools/buildbot/slaves/bb-openbsd/ Also run 'svn cleanup' on the

main working copy used by the buildbot. Apparently, buildbot won't handle

this step for us.

* tools/buildbot/slaves/bb-openbsd/ Run 'svn cleanup' on the

unix-build working copy. Required to resume building after svn crashed.

Fix handling for non-ascii characters on internal path and stderr

* tools/hook-scripts/

(docstring): Add note to handle non-ascii path and/or stderr output.


+ Decode changed paths as 'utf-8' explicitly on Python 3 and leave them as

('utf-8' encoded) bytes in Python 2.7

+ Decode stderr out message from svnlook as sys.stderr.encoding

(Commands.user_command): Decode stderr out message from user commands as


Use configparser.ConfigParser instead of configparser.SafeConfigParser in py3

On Python 3.2, configparser.Configparser implementation is replaced by one it

was configparser.SafeConfigParser before 3.2, and SafeConfigParser class is

only an alias for compatibility on Python >= 3.2. So we use

ConfigParser.SafeConfigParser in Python 2.7 and configparser.ConfigParser in

Python 3 for the base class of our Config class.

* tools/hook-scripts/

(ConfigParser): New valiable to absorb difference of package and class name

(class Config): Use ConfigParser as base class

Follow up to 1872398: Use 0 for default smtp_port instead of smtplib.SMTP_PORT

* tools/hook-scripts/mailer/ (SMTPOutput.finish):

Use 0 instead of smtplib.SMTP_PORT if general.smtp_port is unspecified.

* tools/hook-scripts/mailer/mailer.conf.example ([general]):

Add comment for smtp_port, it is use 465 for SMTP-over-SSL to connect.

Found by: danielsh

Add new option smtp_port to specifiy the port to connect

* tools/hook-scripts/mailer/ (SMTPOutput.finish):

Specify the port number to connect for SMTP/SMTP_SSL explicitly, by new option


* tools/hook-scripts/mailer/mailer.conf.example ([genral]):

New option 'smtp_port'

* tools/dev/unix-build/Makefile.svn: Pass THREADED to svn's Makefile

causing to invoke svnserve with -T for threaded

mode. See dev@ email thread "Makefile.svn: a dumb question" started

by me on 2019/12/24, archived at:

Patch by: danielsh

* tools/dev/unix-build/README: Fix one typo.

* tools/dev/unix-build/Makefile.svn: Switch to Python 3

Follow-up to r1871347:

* tools/examples/ Don't try to '' as a basename.

No functional change, but the new code is more idiomatic. Support Python 3 in addition to Python 2.

Explicitly specify how to sort lists of Contributor and lists of LogMessage.

In Python 2 instances of those classes are comparable to each other by way of

the __cmp__ member function, but Python 3 does not support that member


An alternative would have been to implement __lt__ and use


* tools/dev/

(functools): Import.

(Contributor.sort_key): New member function.

(LogMessage.sort_key): New member function.

(Contributor.html_out, drop): Specify sorting order.