subversion - LCFG Subversion Component
This documentation refers to lcfg-subversion version 2.0.13
subversion METHOD [ARGS]
An LCFG component that is used to configure and manage a Subversion server.
The non-standard component methods are described below.
Builds the server configuration and creates any missing repositories.
This method will dump the specified subversion database. Optionally the dump can be gzipped. If you do not specift the dump directory then it will be put into /var/lcfg/svndump/$repos_name. If you do not specify the output file name it will be named based on the date like $repos_name.%Y-%m-%d.dump. If you specify the number of dumps to be kept then when that limit is exceeded the oldest number of dumps beyond that limit will be deleted.
The non-standard component resources are described below.
The user to run the server as, defaults to root.
The default base directory for the subversion repositories. The default is /var/svn. This can be overridden on a per-repository basis via the root resource
List of repositories to manage.
The root directory for this repository. If not specified defaults to the default repository path (/var/svn).
The user ownership for this repository. If not specified defaults to the value of the user resource.
The group ownership for this repository. If not specified defaults to root.
The unix file access permissions for the repository. If not specified this defaults to 02770.
A boolean value determining whether the component should manage the file svnserve configuration file for this repository. This defaults to no for backwards compatibility reasons.
This is the name of the svnserve configuration file to be managed. This defaults to svnserve.conf, if this is not an absolute file name then it will be managed within the conf directory for the specific repository.
The subversion access permissions for anonymous users. This must be one of none (no access), read (read-only access) or write (complete access). Defaults to none. This only has an affect on the svnserve configuration file when the manageconf option is set to yes for the relevant repository.
The subversion access permissions for authenticated users. This must be one of none (no access), read (read-only access) or write (complete access). Defaults to write. This only has an affect on the svnserve configuration file when the manageconf option is set to yes for the relevant repository.
This option specifies the authentication realm of the repository. If two repositories have the same authentication realm, they should have the same password database, and vice versa. The default realm is uuid of the repository. This only has an affect on the svnserve configuration file when the manageconf option is set to yes for the relevant repository.
A file containing a list of usernames and passwords for controlling access to the repository. There is no default for the password file. The path is relative to the conf directory unless it starts with a leading slash. This only has an affect on the svnserve configuration file when the manageconf option is set to yes for the relevant repository.
A file containing a list of usernames and passwords for controlling access to the repository. There is no default for the authorization file. The path is relative to the conf directory unless it starts with a leading slash. This only has an affect on the svnserve configuration file when the manageconf option is set to yes for the relevant repository.
A list of groups of users for this repository. This only has an affect on authzdb when the manageconf option is set to yes for the relevant repository.
A list of members for the particular group. This only has an affect on authzdb when the manageconf option is set to yes for the relevant repository.
A list of repository sections to be protected. This only has an affect on authzdb when the manageconf option is set to yes for the relevant repository.
The path for the particular repository section. This only has an affect on authzdb when the manageconf option is set to yes for the relevant repository.
The list of users and groups for which you want to control access to this section of the repository. This only has an affect on authzdb when the manageconf option is set to yes for the relevant repository. There is a special 'ALL' tag which is translated into "*" in the authorization file which matches all users.
The access permissions for the particular user or group for access to this particular section of the repository. This only has an affect on authzdb when the manageconf option is set to yes for the relevant repository. Default permission is the empty string"", which means no access. This can be set to "r" for read-only, "rw" for read-write and "none" which is translated to "" in the authorization file.
This is an alternative for the user or group name to be used if it cannot be expressed as an LCFG tag due to limits on the allowed characters. For instance, you would need this to control access for a username like foo@example.org
A list of hook scripts which, if found, will be marked as executable. Any other files in the hooks directory will be set to non-executable.
The path to the svnserve command, the default is /usr/bin/svnserve
The path to the svnadmin command, the default is /usr/bin/svnadmin
Clearly if you want to use subversion you must install the subversion tools.
This is an LCFG Perl component and, as such, it requires LCFG::Component and LCFG::Template. It also requires DateTime, File::Find::Rule and IPC::Run.
This is the list of platforms on which we have tested this software. We expect this software to work on any Unix-like platform which is supported by Perl.
Fedora3, Fedora5, Fedora6, ScientificLinux5
There are no known bugs in this application. Please report any problems to bugs@lcfg.org, feedback and patches are also always very welcome.
Services Unit <services-unit@inf.ed.ac.uk>
Copyright (C) 2008-2009 University of Edinburgh. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the terms of the GPL, version 2 or later.