We have a standard directory structure for each of our projects:


Testing contains our Selenium scripts (and in the future - unit testing scripts). Build contains our Ant scripts.

At the office I'm in charge of setting up new SVN repositories and one of the things I've done to speed up setting up new projects is to create a 'template' project directory. This contains all the folders listed above along with some default buildfile and testing scripts.

I first created this layout in a new repository. I then added our standard buildfiles and testing suite files. I then created a SVN dumpfile using the svnadmin dump command. You end up with a dumpfile containing the contents of your repository.

Now when I create a new project I simple create the new project's repository, and then use the svnadmin load command to import my 'default' dumpfile contents.

/usr/bin/svnadmin create --fs-type fsfs /var/www/svn/projectname
sudo chown -R apache:apache /var/www/svn/projectname
sudo svnadmin load /var/www/svn/projectname < /var/www/svn/tmp/template.dumpfile --ignore-uuid -q

Now when the first person checks out the project - they already have the required directory structure, buildfiles and testing templates.

Published on Monday, April 07 2008     Tags: tools subversion


Comments disabled for this post. Still want to bug me about it? Hit me up on one of the social sites listed to the right.


Jim is a Senior Applications Engineer working at Red Hat. He slso likes motorcycles and keeping his quadcopter out of trees.