NAME

subversion - LCFG Subversion Component

VERSION

This documentation refers to lcfg-subversion version 2.0.13

SYNOPSIS

subversion METHOD [ARGS]

DESCRIPTION

An LCFG component that is used to configure and manage a Subversion server.

METHODS

The non-standard component methods are described below.

start

Builds the server configuration and creates any missing repositories.

dumpdb [--test] [--gzip] [--dumpdir=...] [--outfile=...] [--keep=...] --repo repos_name

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.

RESOURCES

The non-standard component resources are described below.

user

The user to run the server as, defaults to root.

path_repository

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

repositories

List of repositories to manage.

root_tag

The root directory for this repository. If not specified defaults to the default repository path (/var/svn).

user_tag

The user ownership for this repository. If not specified defaults to the value of the user resource.

group_tag

The group ownership for this repository. If not specified defaults to root.

mode_tag

The unix file access permissions for the repository. If not specified this defaults to 02770.

manageconf_tag

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.

conffile_tag

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.

anonaccess_tag

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.

authaccess_tag

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.

realm_tag

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.

passworddb_tag

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.

authzdb_tag

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.

authzgroups_tag

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.

authzmembers_tag_group

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.

authzentries_tag

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.

authzpath_tag_entry

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.

authzallow_tag_entry

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.

authzallowperms_tag_entry_entity

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.

authzallowname_tag_entry_entity

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

hooks

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.

tool_svnserve

The path to the svnserve command, the default is /usr/bin/svnserve

tool_svnadmin

The path to the svnadmin command, the default is /usr/bin/svnadmin

DEPENDENCIES

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.

PLATFORMS

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

BUGS AND LIMITATIONS

There are no known bugs in this application. Please report any problems to bugs@lcfg.org, feedback and patches are also always very welcome.

AUTHOR

Services Unit <services-unit@inf.ed.ac.uk>

LICENSE AND COPYRIGHT

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.