Difference between revisions of "Archive:Subversion"

From Tardis
Jump to: navigation, search
Line 12: Line 12:
 
Don't share one big repository, that just means that version numbers will grow unnessasarily. fsfs is necessary for stability.
 
Don't share one big repository, that just means that version numbers will grow unnessasarily. fsfs is necessary for stability.
  
I (--[[User:Pert|Pert]] 16:54, 11 June 2007 (BST)) have added '/var/autofs/svn/private/' for tardis-internal repos 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 repos contained therein.   
+
I (--[[User:Pert|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 repo 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 repo was coppied from the 'basic concepts for multiple administrators or machines' section of [http://www.orcaware.com/svn/wiki/System_Configurations this page].  Here are some basic instructions:
+
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 [http://www.orcaware.com/svn/wiki/System_Configurations this page].  Here are some basic instructions:
 +
 
 +
Check if a machine is in the configuration repository:
 +
<pre>svn ls svn+ssh://USER_NAME@ssh/var/autofs/svn/private/configuration/</pre>
 +
 
 +
See which files are currently managed in the repository:
 +
<pre>svn ls -R svn+ssh://USER_NAME@ssh/var/autofs/svn/private/configuration/MACHINE_NAME/</pre>
 +
 
 +
Add a new machine to the repository:
 +
<pre>
 +
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"</pre>

Revision as of 18:26, 11 June 2007

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"