Archive:Subversion

From Tardis
Revision as of 21:03, 12 October 2013 by Hayden (talk | contribs) (Text replace - "<div style="width:55%;margin:0 auto;border:2px solid;border-left:20px solid;border-color:#d9534f;text-align:center;padding:5px;font-weight:bold;">This page is out of date and needs rewriting.<br /> The content is likely to be incomplete or)
Jump to: navigation, search
This page is out of date and needs rewriting.
The content is likely to be incomplete or incorrect.
This service does not currently exist if you would like to reinstate it please contact us. The following information should be for historical interest only.

Tardis now has a subversion service. I just made it. There's a repository for sf style projects under /var/autofs/svn/public/projects/n/ where n is the project name. The idea is that any projects on http://www.tardis.ed.ac.uk/projects/ should be in there, and the svn should be public, or something to that affect. Assume that data in under that path on disk will be exposed to the public at some point.

Setup a new repository per project, something like

sudo mkdir /var/autofs/svn/public/projects/gobble
sudo chown -R kev.admin /var/autofs/svn/public/projects/gobble/
svnadmin create --fs-type fsfs /var/autofs/svn/public/projects/gobble/
find /var/autofs/svn/public/packages -perm +200 | sudo xargs -i chmod g+w {}

Don't share one big repository, that just means that version numbers will grow unnessasarily. fsfs is necessary for stability.

I (--Pert 16:54, 11 June 2007 (BST)) have added '/var/autofs/svn/private/' for tardis-internal repository which should not be shared with the world. The '/var/autofs/svn/private/' directory and it's contents should be owned by the 'admin' group and should be group writable so that all admins can use the repositories contained therein.

Under '.../private/', I have created a configuration repository which should be used for configuration files. The rationale behind this is to enable us to track when, where and by whom changes to configuration files were made. The setup used inside this repository was copied from the 'basic concepts for multiple administrators or machines' section of this page. Here are some basic instructions:

Check if a machine is in the configuration repository:

svn ls svn+ssh://USER_NAME@ssh/var/autofs/svn/private/configuration/

See which files are currently managed in the repository:

svn ls -R svn+ssh://USER_NAME@ssh/var/autofs/svn/private/configuration/MACHINE_NAME/

Add a new machine to the repository:

svn mkdir svn+ssh://USER_NAME@ssh/var/autofs/svn/private/configuration/MACHINE_NAME/
svn checkout svn+ssh://USER_NAME@ssh/var/autofs/svn/private/configuration/MACHINE_NAME/ /
svn add -N /etc /etc/fstab /etc/profile /etc/bash.bashrc /etc/vim /etc/vim/vimrc /boot /boot/grub /boot/grub/menu.lst
svn commit / -m "vanilla files from etch"