SVN Access Manager is a powerful tool for managing access to subversion repositories. The tool provides user and group management and access rights (read /write) to dedicated paths in a repository as well.
SVN Access Manager uses projects to give users the rights to manage their own modules in a repository. Project is used substitutionary for a toplevel directory.
Let’s have a small example of a repository structure:
testproject1 trunk /dir1 /dir2 /dir3 /dir4 /dir5 branches version-1-0 /dir1 /dir2 /dir3 /dir4 /dir5 version-1-1 ... tags version-1-0-0-0 /dir1 /dir2 /dir3 /dir4 /dir5 version-1-0-0-1 ... testproject2 trunk ... branches ... tags ... testproject3 trunk ... branches ... tags ...
As you can see the subversion repository is organized in modules containing their trunk, branches and tags each. Each of the modules is called project. One of SVN Access Manager’s goals is to have the possibility to give one or more users the responsibility to organize the access rights in their project. In large repositories with a lot of projects it makes administration easier because the responsibility for giving or revoking access rights can be divided up upon more users.
Because of the fact that you can give access rights (read/write) to each directory within a repository the organization structure of a repository does not matter. SVN Access Manager can work with every subversion repository structure.
Authentication is done by the Apache web server. Only valid users may access the repositories. Authorization is done by the mod_authz module which takes the permissions from the generated svn access file.