SVN

From Leo's Notes
Last edited on 1 September 2019, at 06:21.

Backup Repository

Backing up the entire repository from beginning of time to the most recent revision:

svnadmin dump /path/to/repository > backup.dump

To back up a specific range of revisions:

svnadmin dump /path/to/repository -r startRev:endRev > backup.dump

where startRev is the starting revision number and endRev the ending revision number. You may replace endRev with HEAD to specify the most recent revision.

Restore Repository

svnadmin create /path/to/repository
svnadmin load /path/to/repository < backup.dump

Setting up svnserve

To set up svnserve under CentOS/ScientificLinux, run:

yum install subversion
service svnsersve start

To configure svnserve, you will need two files in your repository's conf/ directory:

svnserve.conf:

[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
anon-access = none
auth-access = write

### The password-db option controls the location of the password
### database file.  Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
password-db = passwd

### 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 repository's uuid.
realm = Project Version 1.0 Repository

passwd: (as defined above in password-db)

[users]
leo = meinpasswort

Accessing Your Repository

You can now access your repository at:

svn://server/<path_to_repository>

For example, if my repository was placed in /home/leo/repository/project_v1, you should be able to checkout and commit at:

svn://server/home/leo/repository/project_v1

If you have defined your svnserve.conf properly, you will be prompted for a username/password.