Subversion

From StudentDevWiki

Jump to: navigation, search

Currently we're working on integrating our subversion solution into the CPanel account management system. Until we get that system up and running correctly, repositories have to be created manually by a myRPI-space administrator. Send your request to our ticketing system at http://admin.myrpi.org/support and someone will be more than happy to set it up.

Contents

Accessing your repository

To access your repository from another machine, point your subversion client to http://subdomin.myrpi.org/svn where you will be prompted to login with a username and password. Login using the information you setup via the User Access section. If you access your repository locally via file:///home/user/svn/ your system account will be used to authorize you.

User Access

Subversion users are not bound to system accounts, or RCS ids. You have complete control over them via your local authentication file. Currently all repositories are being created to require a valid login to browse and commit back to them. When visiting a repository, remember to use the username and password specified by your svn_users file. This is likely not the same as your system account.

Add a User

To add a user to your reposity, issue the following command via shell:

user @ Bifrost : ~ ::/usr/local/apache/bin/htpasswd /home/user/svn_users username_to_add

Remove a User

To remove a user, open /home/<<RCS ID>>/svn_users in any text editor and remove the line that starts with the desired username. Or you can use the following command:

user @ Bifrost : ~ ::sed '/user_to_remove:/d' svn_users > svn_users_t && mv svn_users_t svn_users

Repository Structure

We create a blank repository for you for you to divide up however you want. Its common for people to break up a repository into seperate folders for projects, and within each project create /trunk /branches and /tags. The best way to do this is to layout your filesystem first in a temp folder, and use svn import to bring it into the repository.

user @ Bifrost : ~ ::mkdir tempdir
user @ Bifrost : ~ ::cd tempdir/
user @ Bifrost : ~/tempdir ::mkdir proj1
user @ Bifrost : ~/tempdir ::mkdir proj1/trunk
user @ Bifrost : ~/tempdir ::mkdir proj1/branches
user @ Bifrost : ~/tempdir ::mkdir proj1/tags
user @ Bifrost : ~/tempdir ::mkdir proj2/trunk
user @ Bifrost : ~/tempdir ::mkdir proj2
user @ Bifrost : ~/tempdir ::mkdir proj2/trunk
user @ Bifrost : ~/tempdir ::mkdir proj2/branches
user @ Bifrost : ~/tempdir ::mkdir proj2/tags
 
user @ Bifrost : ~/tempdir ::svn import . file:///home/user/svn/ --message 'Initial repository layout'
 
Adding         proj1
Adding         proj1/trunk
Adding         proj1/branches
Adding         proj1/tags
Adding         proj2
Adding         proj2/trunk
Adding         proj2/branches
Adding         proj2/tags
 
Committed revision 1.
 
user @ Bifrost : ~/tempdir ::cd ..
user @ Bifrost : ~ ::rm -Rf tempdir/

Subversion References

Version Control with Subversion

Personal tools