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

...

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

...

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

username:password

Where password is a password hash. You will typically manage entries in this file using the htpasswd program, which is part of a standard Apache install. If you do not have access to this program on your local computer, you can connect to login.seas.harvard.edu and generate entries there:

  • Connect to login.seas.harvard.edu using ssh.
  • Run htpasswd with the -n option, like this:
    htpasswd -n -m user@somewhere.com
  • Enter and confirm the password when prompted, and htpasswd will emit a line similar to the following:
    user@somewhere.com:$apr1$Phvgf...$w4R6hgDtojkIZnCNjvyzy0
  • Paste this line into your htpasswd file and commit the changes.

When selecting usernames, we encourage you to always use a person's email address.

Once you have created the user account, granting access is the same as described in the previous section. For example, you might modify your authz file to look like this:

Code Block

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

Receiving emailed commit logs

...