Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

The Academic Computing Subversion hosting service is a tool that provides SEAS users, group, and labs secure, manageable, and centralized access to Subversion repositories. These repositories can be public or private, and control can be managed as needed by their owners.

Creating a repository group

Anyone with an active SEAS account may request a Subversion repository group by sending email to achelp@seas.harvard.edu. In your email, please specify the name you would like for the repository group. This may be your username, or it may be the name of a project or research group.

Managing your repository group

Once your repository group has been created, we will send you an email with the command necessary to check out the administrative repository. For a repository group named "bigproject", the command would look like this:

...

This would create a directory called admin in your current directory with the contents of the administrative repository.

The

...

admin repository

The administrative admin repository is a meta-repository that allows you to control your Subversion repository group. The admin repository contains the following files and directories:

...

  • keydir
    It is possible to access your Subversion repository via ssh instead of using http. This directory is where you would store ssh keys if you were using this mechanism. If you are interested in using ssh for Subversion access, please contact us.

Adding new repositories

You add new repositories to your repository group by adding new stanzas to the authz file and committing the changes. For example, to add a repository called "niftycode" to your "bigproject" repository group, you would add the following to your authz file:

...

Note that there is no way to delete repositories. This is safety measure to prevent accidental typos from causing loss of data. If you remove a repository from your authz file, you can always put it back at a later date to restore access to the data.

Controlling access to repositories

You control access to repositories by editing the authz file in your administrative repository.

Granting access to people with SEAS accounts

To grant a user "alice" read access to your documents repository, you might modify the corresponding entry in your authz file from this:

...

Code Block
[documents:/]
lars = rw

[documents:/unclassified/]
alice = r

Granting access to people without SEAS accounts

If you will be collaborating with someone from outside of SEAS, you may to create a local account for them in your repository group. The htpasswd file is where you control local users and groups. The file is a list of lines of the form:

...

Code Block
[documents:/]
lars = rw
user@somewhere.com = r

Receiving emailed commit logs

If you want to receive an email message when someone commits changes to a repository, you may set the seas:review property on the repository root directory to a list of email addresses. For example:

...