[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

"svn log" via svnserve is letting me see things it shouldn't, but "svn ls" works as I expect

From: Reid Priedhorsky <reid_at_umn.edu>
Date: Wed, 03 Mar 2010 15:01:22 -0600

Hi,

We are trying to set up svnserve to serve part of a repository to the
public. The problem: "svn log" shows _all_ log messages in the repo when
invoked on the repo root, even when "svn ls" on the same path gives
"Authorization failed".

The goal: serve repository path /cyclingproject/public read-only to
anyone, and the rest of the repo should not be available to the public.
In particular, log messages to files not in /cyclingproject/public
should not be available.

We are mirroring our main repository with svnsync, restricting the copy
to the path /cyclingproject/public. Only data in this path seems to be
copied, but all log messages in the main repo are coming over. We are
using file: to do the mirroring, so this step does not involve svnserve.
It is the mirror that we're serving with svnserve.

We are on version 1.5.7.

Contents of svnserve.conf:

   [general]
   anon-access = read
   auth-access = none
   authz-db = authz

Contents of authz:

   [/cyclingproject/public]
   * = r

We invoke svnserve as:

   $ svnserve -d --foreground -r /project/Grouplens/svn-cyclopath-public

"svn ls" output (all this is what we want):

   $ svn ls svn://localhost/
   svn: Authorization failed
   $ svn ls svn://localhost/cyclingproject
   svn: Authorization failed
   $ svn ls svn://localhost/cyclingproject/public
   test

"svn log" output:

   $ svn log svn://localhost/cyclingproject/public
   [log messages for /cyclingproject/public]
   $ svn log svn://localhost/cyclingproject
   svn: Item is not readable
   $ svn log svn://localhost
   [log messages for the whole mirror repository]

It is the last command that is the problem. The expected (and desired)
behavior is either (a) "svn: Item is not readable" or (b) log messages
for /cyclingproject/public only.

What's wrong? Did I make a configuration error? Is this a bug?

All I can think of is to write a commit hook in the mirror repository
that removes log messages for paths that shouldn't be public.

Any help would be much appreciated.

Reid
Received on 2010-03-03 22:01:58 CET

This is an archived mail posted to the Subversion Users mailing list.