I have a SVNSERVE server set up to host multiple repositories.
Short question here
My question is really this: I have authz, passwd, and svnserve.conf in the main directory outside the repositories, and this seems to work, in the sense that changes here will give, or deny, access to the relevant repositories.
However, due to an error when using TeamCity, I've come to find that each repository also have their own sets of these files, but the contents there are almost completely empty. Do I need to replicate the relevant bits and pieces of the main configuration files down into each repository?
Tentative solution
Ok, it seems that the web-page I linked to below (this page) was correct after all. By editing the repository-local svnserve.conf
file, and adding the single line:
anon-access=none
then it seems to work. Note that that's all I did as well. The main, global, outside-of-repositories svnserve.conf
file and associated files still seems to contain all the relevant information, as changes here still grant or deny users access to the repositories, but adding that line made TeamCity stop complaining.
Running control-tests right now after removing the line again, just to see if it still fails.
Long story here
The directory structure is like this:
E:
+-- Repositories
+-- LVK
+-- PrivateProjects
+-- ExternalProjects
+-- XYZ
+-- etc.
Now, I in the Repositories directory, I have the following files (file contents are below):
svnserve.conf
authz
passwd
svnserve.conf looks like this:
[general]
password-db=passwd
authz-db=authz
realm=VKarlsen Subversion Server
anon-access=read
auth-access=write
authz looks like this:
[/]
lassevk=rw
*=r
[LVK:/]
lassevk=rw
*=r
[PresentationMode:/]
lassevk=rw
*=
and some other repositories etc.
and passwd looks like this (obviously not the right password though):
[users]
lassevk=MYSECRETPASSWORD
Now, what I'm wondering about is that TeamCity is complaining with an error message that says: "Failed for the root 'svn://localhost/PrivateProjects/VS.NET/LVK_ReleaseScript' #2: svn: Not authorized to open root of edit operation".
I found this page here, but it says to make sure you have the following in your svnserve.conf file:
anon-access=none
I do, however, have anon-access=read
in the file, but my question is really this: Each repository also have a conf sub-directory with the exact same files as above, just not the same contents. In fact, apart from setting the Realm value to the same thing as my main svnserve.conf file, the files are completely empty.
Is this correct? Do I need to replicate the relevant bits and pieces from the main svnserve.conf file down into the configuration files for each repository?
For instance, here's the contents of the three files under the LVK repository:
authz:
[groups]
[/]
passwd:
[users]
svnserve.conf:
[general]
realm = VKarlsen Subversion Server