Dmitry Pavlenko | 10 Feb 20:18 2016

rename ignoreLocal to onDisk

I'm trying to understand what ISVNClient.status does, but one of its parameters contradicts to its 
documentation. See line 100 of

Rename parameter ignoreLocal to onDisk (like at r1583335).

* subversion/bindings/javahl/src/org/apache/subversion/javahl/
  (ISVNClient): Rename parameter ignoreLocal to onDisk.

Index: subversion/bindings/javahl/src/org/apache/subversion/javahl/
--- subversion/bindings/javahl/src/org/apache/subversion/javahl/ (revision 1729689)
+++ subversion/bindings/javahl/src/org/apache/subversion/javahl/ (working copy)
 <at>  <at>  -97,7 +97,7  <at>  <at>  public interface ISVNClient
      *  <at> since 1.9
     void status(String path, Depth depth,
-                boolean onServer, boolean ignoreLocal,
+                boolean onServer, boolean onDisk,
                 boolean getAll, boolean noIgnore,
                 boolean ignoreExternals, boolean depthAsSticky,
                 Collection<String> changelists, StatusCallback callback)
Dmitry Pavlenko,
(Continue reading)

Daniel Shahaf | 10 Feb 10:23 2016

What's an svnserve groups-db file? Fwd: [C. Michael Pilato: Re: [svnbook] r5084 committed - trunk/en/book/ch06-server-configuration.xml]

From the default svnserve.conf:

    ### The groups-db option controls the location of the groups file.              
    ### Unless you specify a path starting with a /, the file's location is
    ### relative to the directory containing this file.  The specified path
    ### may be a repository relative URL (^/) or an absolute file:// URL to a
    ### text file in a Subversion repository.
    # groups-db = groups

Could whoever implemented that knob please document the syntax and
semantics of a groups-db file?  Does the file use the ini format?  Does
it have an ini section header?  What happens if both an authz-db file
containing a [groups] section and a groups-db file are configured?

This information doesn't belong on the mailing list; it belongs in the
1.8 release notes, the 1.8 svnbook, or the template svnserve.conf file's

The knob was added in r1438407.  That revision adds text to
subversion/mod_authz_svn/INSTALL, but that text does not explain the
syntax and semantics of that file, either.



----- Forwarded message from "C. Michael Pilato" <cmpilato <at>> -----

> Date: Tue, 9 Feb 2016 11:18:21 -0500
> From: "C. Michael Pilato" <cmpilato <at>>
(Continue reading)

Yves Martin | 7 Feb 22:16 2016

Subversion FSFS logical addressing and packed shard


I would like to better understand how logical addressing has impact on
packed shard. My objective is to provide a "unpack" feature with logical
addressing in my version of "" script:

Do you have any hints to help me in that job or do you already know it
is irrelevant and should be considered as a pure waste of time ?

Thank you in advance for your help

Yves Martin

Daniel Shahaf | 7 Feb 01:22 2016

Re: svn commit: r1727621 - in /subversion/trunk/subversion: svn/svn.c svnadmin/svnadmin.c svnbench/svnbench.c svnfsfs/svnfsfs.c svnlook/svnlook.c svnrdump/svnrdump.c svnsync/svnsync.c

Philip Martin wrote on Mon, Feb 01, 2016 at 11:20:04 +0000:
> Philip Martin <philip.martin <at>> writes:
> > That change is broken for two reasons:
> >
> >  - the same handler is used for all those signals but we always exit via
> >    SIGINT
> >
> >  - except apr_signal does not return APR_SUCCESS so we never exit via
> >    SIGINT.
> Fixed by r1727916.

> +  if (cancelled)
> +    {
> +      apr_signal(signum_cancelled, SIG_DFL);
> +      /* No APR support for getpid() so cannot use apr_proc_kill(). */
> +      kill(getpid(), signum_cancelled);
> +    }

There seems to be a race condition here: if this block is entered with
(signum_cancelled == SIGINT), and between the apr_signal() call and
evaluating the arguments to the kill() call, a SIGTERM is received and
changes the value of signum_cancelled, the kill() call will send
a SIGTERM signal to current process while the SIGTERM handler will still
be SIG_IGN (the value installed by our handler).

I think we have two options to fix this: either make signum_cancelled
a write-once variable (never write to it if it's nonzero), or have the
handler install SIG_IGN handlers for all signals we catch, not just for
(Continue reading)

Vincenzo Reale | 4 Feb 13:00 2016

Italian translation update

Hi guys,

I would share and submit a complete revision (spellchecked and with new strings) of the Italian translation for subversion.


Best regards,




Eric S. Raymond | 3 Feb 00:42 2016

svncutter can be removed

The svncutter utility under contrib/server-side can be removed.  I
wrote it, and I'd do this myself, but I no longer seem to have current
write-access credentials to the repo.

A revised and improved version named 'repocutter' is now part of the
reposurgeon distribution, where it actually has proper documentation
and tests.

		<a href="">Eric S. Raymond</a>

The IRS has become morally corrupted by the enormous power which we in
Congress have unwisely entrusted to it. Too often it acts like a
Gestapo preying upon defenseless citizens.
	-- Senator Edward V. Long

Andreas Scherer | 31 Jan 11:48 2016

[RFE] Make 'svn patch' read from STDIN

I suggest to extend 'svn patch' so that it supports usage in a pipe like

    gzip -dc patch-0042.gz | svn patch -P patch-0042 -

This would permit using 'svn patch' directly as a drop-in replacement for

   gzip -dc patch-0042.gz | patch

An example use case is the '%autosetup -S [SCM]' feature of RPM
currently supported SCM are patch, git, hg, bzr, quilt). The pipe in the 
'%autopatch' macro uses various decompressors and transfers the text output to 
the 'SCM' command. It would be nice to permit '-S svn' here as well.
Stefan | 1 Feb 00:34 2016

[PATCH] Fix for access violation in svn_fs__path_valid()


as discussed on the dev list (topic: inconsistent null-ptr handling in 
utf-path related functions):
attached is a patch to prevent svn_fs__path_valid() to run in an access 
violation when creating an error due to path being invalid (in this case 

Prevent an access violation upon an invalid call, while generating an error

* libsvn_fs/fs-loader.c:
    (svn_fs__path_valid):  add null-check for path-parameter when 
generating the
                           error and use "NULL" in the message, in case
                           it actually is null.

Stefan Fuhrmann | 31 Jan 12:03 2016

Making FS and repos layer log API streamy

Hi there,

When the server needs to transmit the list of changed paths
in a revision, its memory usage is O(#changes), i.e. practically
unbound. The problems are:

* FS and repos API require a full collection of all changes
   Most consumers simply scan that data once. So, they can
   just as well work on a one change at a time basis as a

* The data types are different, so we end up with two copies.
   A revised svn_fs_path_change_t with identical
   svn_repo_path_change3_t can fix this. Minor adjustments
   to the element data types further improve efficiency.

I've played with a revised version of svn_fs_paths_changed
and svn_repos_get_logs to use callbacks for the individual
path changes. Effectively, the FS layer can now pump the
info through the repos / authz filter into the RA layer.

I'll commit the changes to /trunk over the next couple of weeks,
mostly on weekends. There will be two-way conversion between
old and new APIs to facilitate regression testing. The old API will
get deprecated once all users have migrated.

-- Stefan^2.

Philip Martin | 26 Jan 17:28 2016

undefined behaviour in pack

GCC's undefined behaviour sanitizer is reporting:

../src/subversion/libsvn_fs_fs/pack.c:902:17: runtime error: signed integer overflow: 2147483647
* 4 cannot be represented in type 'int'

To reproduce:

# set shard size to 3 and create a full shard
svnadmin create repo
chmod +w repo/db/format
printf "7\nlayout sharded 3\naddressing logical\n" > repo/db/format
svnmucc -mm -U file://`pwd`/repo put repo/format f
svnmucc -mm -U file://`pwd`/repo put repo/format f
svnadmin pack repo

Just before the warning roundness(0) returns MAX_INT and then:

(gdb) p path_order[i]->predecessor_count
$1 = 0
(gdb) p round
$2 = 2147483647

and 4 * 2147483647 overflows an int.


Philip Martin

Igor Maliavko | 26 Jan 11:20 2016


Hi all.


There is a bug in the “Show Log” window, called from merge dialog. Steps to reproduce:

1. create branch from specific revision A (not HEAD, HEAD – 5 revisions for example); after branch will created we have its creation revision B;

2. check out branch has just been created;

3. then trying to sync our branch to HEAD; call merge dialog to the checked out folder: right mouse button-> TortoiseSVN -> Merge;

4. select “Merge a range of revision” -> “Show Log” button;



There are no revisions to select for merging in the dialog, but it is not right, we have (B – A) revisions to merge. Moreover, if we unselect checkbox “Stop on copy/rename”, we will see that all revision below revision B are marked as gray (already merged), even whose which not merged yet.


Expected result:

Revisions between B and A (revision of branch creation and revision branch was created from) can be visible in the “Show Log” dialog without dropping “Stop on copy/rename” checkbox and marked as normal font color (unmerged revisions).





Igor Maliavko

UI back-end team lead



This e-mail may contain CONFIDENTIAL AND PROPRIETARY INFORMATION and/or PRIVILEGED AND CONFIDENTIAL COMMUNICATION intended solely for the recipient and, therefore, may not be retransmitted to any party outside of the recipient's organization without the prior written consent of the sender. If you have received this e-mail in error please notify the sender immediately by telephone or reply e-mail and destroy the original message without making a copy. accepts no liability for any losses or damages resulting from infected e-mail transmissions and viruses in e-mail attachment. kgzO3mXGcg