peters in subversion

* subverison/po/fr.po: Fix gender of 'compact' in 2 places where it

modifies masculine nouns.

Report by: Christian Bac <>

* subversion/bindings/swig/core.i

(python typemap: char *buffer, apr_size_t *len): Accept either a

PyInt or a PyLong buffer length argument. swig 2.0.5+ handles this

differently to previous releases.

* contrib/server-side/

(RegexpStrategy.fixStream): Throw an Exception, not a string,

to appease Python 2.6.

Found by: Jakub Wilk <>

Remove a cast that is both ugly, and apparently illegal in g++ 4.7.

* subversion/libsvn_auth_kwallet/kwallet.cpp

(q_argc, q_argv): New.

(kwallet_password_get, kwallet_password_set):

Use q_argc and q_argv instead of trying to open-code them.

Followup r1145310:

* subversion/include/private/svn_mutex.h

(SVN_MUTEX__WITH_LOCK): Drop stray ';' in do{}while(0) macro.

* subversion/libsvn_subr/iter.c

(svn_iter__break): Add comment that this function is in the public

ABI, to remind us that we cannot delete or change it.

* subversion/libsvn_subr/error.c

(svn_error__locate, svn_error__malfunction): Likewise.

* STATUS: +0 for r1164426 group. I believe it improves correctness,

I don't know about performance, and in any case I didn't test it.

* contrib/client-side/svn-clean:

Support multiple path arguments, like any good Unix tool.

(The svn-module-not-available case already did support them,


Followup to r1157537,1157682:

* subversion/svn/status.c

(print_status): For clarity, change apr_psprintf(apr_psprintf()) to

apr_pstrcat(apr_psprintf()). Building a format string from another

format string was very confusing to me.

* build/ac-macros/neon.m4 (SVN_NEON_CONFIG): Clarify an error message.

Found by: Douglas Mencken <dougmencken{_AT_}>

Vote for r1146832 group, approving.

Thanks Ivan (patch submitter) for hint to reproduce the issue.

* subversion/bindings/swig/perl/native/

(expanded_message): Avoid an undef warning.

Patch by: Ivan Krasilnikov <infnty{_AT_}>


In subversion/bindings/swig/perl/native: Whitespace cleanups.

Untabify. (Various instances seemed to be 2- and 4-space tabs, though

most were 8-space.) Kill trailing whitespace. Enforce

no-space-before-( in function calls. A few other indentation fixes as

I came across them. I kept the 4-space convention here, rather than

convert to 2-space, because 4-space seems to be pretty well established

in this dir.

No non-whitespace changes. svn diff -x-w is empty.









* t/1repos.t

* t/2fs.t

* t/4pool.t

* t/3client.t

* t/5delta.t

* t/5delta-compat.t

* t/7editor.t

* t/8lock.t

* scripts/

* scripts/

Whitespace fixes.

  1. … 3 more files in changeset.
On the revprop-packing branch: Followups to r1143964.

* subversion/libsvn_fs_fs/structure: Fix typo in format number index.

* subversion/libsvn_fs_fs/fs.h


SVN_FS_FS__PACKED_REVPROP_DEV_FORMAT and document that it was never

released. The macro name is long enough without saying it's a

"minimum" of something that is known to be a singleton.

Followup r1139937 to fix a stupid mistake.

* tools/dev/unix-build/Makefile.svn: Use $(dir $@), not $(dirname $@).

* build/ac-macros/serf.m4

(SVN_LIB_SERF): Search for both serf-0 and serf-1.

Followup r1139937 to fix a few bits I messed up.

* tools/dev/unix-build/Makefile.svn


$(GNU_ICONV_OBJDIR)/lib_aliases.gperf.diff): Use mv -f instead of mv.

($(HTTPD_CONF)): Truncate output file.

* tools/dev/unix-build/Makefile.svn

($(PREFIX)/httpd/conf/httpd-$(SVN_REL_WC).conf): Rename target to

$(HTTPD_CONF), for clarity.




Simplify the mkdir -p, a harmless no-op if a dir already exists.

Move the >>$@ to the front of each echo, for improved readability.

Use '' in place of "" for less quoting / interpolation.

Create $@.tmp, then mv -f $@.tmp $@, so that if you happen to

interrupt one of those targets halfway through, 'make' will

correctly regenerate the target next time.

* tools/dev/unix-build/Makefile.svn

(httpd-conf): Replace this target with $(HTTPD_CHECK_CONF) and

$(HTTPD_CHECK_USERS), the files it builds. Allows better use of $@

in rules, for my next commit.

* Followup r1136114: Remove stray ')' character that got

into that commit somehow.

* Followup r1134219: Use 'cmp -s' instead of 'diff' to

detect changes to svn_private_config.h. Take advantage of the fact

that cmp -s produces no output even if a file does not exist.

Use a temp variable to shorten the lines further.

Followup r876252: Document fifth parameter passed to external merge tool.

* subversion/libsvn_subr/config_file.c

(svn_config_ensure): Tweak comment in generated .subversion/config

file to mention fifth parameter to merge-tool-cmd.

Followup r1053469: Fix test by adjusting source code line number.

* subversion/tests/libsvn_subr/error-test.c

(test_error_purge_tracing): Adjust an expected line number.

Seems to be required after almost any edit to libsvn_subr/error.c.

Stop using svn_error__locate in the public ABI.

We can't delete it from the ABI, but we can at least do this much.

* subversion/include/svn_error.h

(svn_error__locate): Move this prototype, and the four macros that

call it, into an #ifdef SVN_DEBUG section. No public API change.

* subversion/libsvn_subr/error.c

(error_file, error_line): Move to an #ifdef SVN_DEBUG section.

(svn_error__locate): Do nothing unless SVN_DEBUG.

(make_error_internal): Only set ->file and ->line if SVN_DEBUG.

As svn_types.h says, these are "Only used iff @c SVN_DEBUG."


Run *.sh scripts using $(SHELL) rather than relying on the #!/bin/sh

interpreter line. This lets autoconf find a reasonable POSIX shell

for us, thus avoiding some shell incompatibilities on systems like


Followup r1043136.


(): Check for the existence of packages/solaris/, the file

that we're generating from, not the file we're generating.

Followup r872282: Update two hook script .tmpl files to be consistent

with their comments. Reported by user "jon-san" on IRC.

* subversion/libsvn_repos/repos.c

(create_hooks): Add two parameters COMMENT and STEAL to the example

SVN_REPOS__HOOKS_PRE_LOCK text, and two parameters TOKEN and BREAK

to the example SVN_REPOS__HOOKS_PRE_UNLOCK text.

* subversion/libsvn_subr/checksum.c

(svn_checksum_parse_hex): Rewrite a compound = for readability.

Optimize and simplify svn_checksum_parse_hex(). In my tests, the new

version is 20% to 30% faster. The EBCDIC port would probably need an

#ifdef here.

Also happens to fix the case of input with uppercase A-F characters.

We neither parsed them correctly nor rejected them as invalid.

Now we accept _and_ parse them correctly.

* subversion/libsvn_subr/checksum.c

(svn_checksum_parse_hex): Rewrite to do a single table lookup to find

the validity and value of a hex byte, rather than two lookups

(svn_ctype_isxdigit, svn_ctype_isalpha) plus some ASCII math.

Also, don't bother to qualify char as unsigned except where actually

needed, and rename is_zeros to is_nonzero to match its meaning.

De-duplicate the 'svn-check-*' targets of Makefile.svn. If we're going

to use GNU-make-isms, we may as well get some good use out of them.

* tools/dev/unix-build/Makefile.svn

(): Move PARALLEL to top of Makefile to make it more obvious that a

user can override it from the command line.

(svn-check-neon, svn-check-serf, svn-check-local, svn-check-svn):

Move most of the logic into...

(do_check): New macro. Functionally equivalent, except we now use mv

instead of cp with the log files, to prevent copying an old one to a

new destination.