I've found quite a few hits on Google regarding this subject, but I
have not found any elegant solutions to this problem.
I'm running SVN 1.6.9 (r901367) on FreeBSD (built from ports). I have
the svnserve daemon running. I'm trying to have some areas of my
repository be public (requiring no auth) and others be private
(requiring auth even for read access). So, lines in my svnserve.conf:
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = Rambetter's Code Repository
[sasl]
use-sasl = false
Lines from passwd:
[users]
maj = fakepass
rambetter = fakepass
Lines from authz:
[aliases]
[groups]
[/]
rambetter = rw
* = r
[/repos/urt-playerdb]
rambetter = rw
* =
[/repos/ioUrT-server-4.1-supersecret]
maj = rw
* =
[/repos/jblockout]
rambetter = rw
* =
[/repos/ioquake3-server-1.36-rambetter]
rambetter = rw
* =
[/repos/ioUrT-server-4.1-rambetter]
rambetter = rw
* =
I cannot perform an "svn log" from the paths above that have the "* ="
(to restrict read access to the public). The error message is "svn:
Item is not readable" when I perform and "svn log" on these restricted
directories.
I know this is a common problem, but is there an elegant way to to
have both publicly readable and protected sections in the same
repository? I have done one thing in the past, which is to create a
user called "anonymous" with the empty password, and I tell the public
that to check out they type this:
svn checkout svn://daffy.nerius.com/repos/ioUrT-server-4.1
--username="anonymous" --password=""
... but this approach seems to be very clumsy.
Another solution that comes to mind is to start a whole new repository
with a separate svnserve daemon. How would I move over an entire
directory, all history included, if I were to do this?
Any other solutions?
Received on 2010-02-26 22:33:20 CET