Manage your sites with svn externals

After having worked with subversion for a while I finally got time to restructure my repository layouts. What I want is a simple way to update all the sites I maintain and I want those sites under version control.

Steps I took

  1. Make a drupal core repository
  2. Create your project repository
  3. Reference to the drupal core

Directory layout

In order to get a nice update-able project directory tree we choose a layout listed below.
www/
This contains only drupal core code will live.

Subversion setup with apache

Setting up an apache based subversion needs a little more work then doing it with a plain or svnserve setup.

My steps are described here and executed on two computers.

Create your repository

# the switch --fs-type fsfs is the default 
# but I was a little worried of getting the bdb file system
svnadmin create --fs-type fsfs demo

Make sure apache is capable of reading the repo and other cannot

# /var/lib/svn is owned by root so let www-data (apache) access the repos dir.
chmod o+rx /var/lib/svn
chmod -R o-rwx demo
chown -R www-data:www-data demo

subversion

These pages describe my interpretation of a subversion setup.