From CSEE Documentation
Jump to: navigation, search

Subversion (SVN) provides a convenient means of collaboration for groups of developers, as well as version control, branching and merging, and a number of other excellent features.

We now support automatically creating public svn repositories on a CSEE system (svn.cs.umbc.edu). Users may create, share, and manage permissions on their own repositories from within the my.cs web interface. To begin, log into my.cs and select "Subversion" from the left.

You will be presented with two lists: The top one is the list of repositories that you own, and the bottom the list of user groups. To create a repository, click "Create Repository". Give it a unique name. All other fields are optional. The path is the location above ~/svn in your home directory, generally this should be left blank. If you are part of a research group and would like the repository in your lab's storage, please file a ticket with us for information of how to do that.

Read Only Names are the users that are allowed to fetch the repository, but not add or commit to it. Read Write are people you would like to share full access with. The groups are the names of groups you have created on the previous page, so that you may more easily control access for larger numbers of people, i.e. a class of students or a group of TAs. You may leave any of these blank, and you will automatically be given read/write access to all repositories that you own. Submit to finish.

When you return to the first page, you should see that the status of your new repository is "Initializing". This should only take a second, select "Subversion" on the left to refresh the page. (Refreshing may attempt to create a new repository, which will be blocked due to an identical name) Once your repository is "Online" the url will be populated, and you are now able to use the repository. To view it in your browser, simply copy the url given into the address bar, and you will be given a navigable page of your current source. To check out on the command line, use:

svn co https://svn.cs.umbc.edu/<rest of url>

This will create a directory of the same name as your repository. For more information on using svn, please see: http://svnbook.red-bean.com/

If you have a large number of users, I suggest using groups to help manage them. To do so, on the main subversion site, select "Create Group". Supply a group name and the usernames of the people in the group, separated by spaces. When creating and editing repositories, you can add these groups as read only or read write, and all of the users in them will receive the same rights.

Our system will also support modifying permissions of subdirectories within your repository. In order to do so, click the name of the repository on the main page, then create an entry for each subdirectory you want to control. Note that this page will not be automatically populated as you edit your repository. You may also add directories below directories by clicking "Add Subdirectory".

This system has only just been rolled out, so a few issues may be present. If you encounter any difficulty, please submit a ticket with the CSEE systems group at my.cs. Thanks!