Difference between revisions of "Archive:Subversion"

From Tardis
Jump to: navigation, search
m
Line 16: Line 16:
 
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:
 
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:
+
Check if a machine is in the configuration repository:
<pre>svn ls svn+ssh://USER_NAME@ssh/var/autofs/svn/private/configuration/</pre>
+
<pre>svn ls svn+ssh://USER_NAME@ssh/var/autofs/svn/private/configuration/</pre>
  
See which files are currently managed in the repository:
+
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>
+
<pre>svn ls -R svn+ssh://USER_NAME@ssh/var/autofs/svn/private/configuration/MACHINE_NAME/</pre>
  
Add a new machine to the repository:
+
Add a new machine to the repository:
<pre>
+
<pre>svn mkdir svn+ssh://USER_NAME@ssh/var/autofs/svn/private/configuration/MACHINE_NAME/
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 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 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>
 
svn commit / -m "vanilla files from etch"</pre>

Revision as of 18:27, 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"