Hi guys. Just looking for some opinion on how best to handle the deployment of sites with Subversion (or similar).

The company I work for manages over 1300 individual domains, which are mostly based on our own CMS or eCommerce software, with the occasional WordPress blog and bespoke site thrown in as necessary. Unfortunately, previous developers opted for a single installation for each, which makes them difficult to manage. I don't even know which site is running what software without grep'ing them or something similar. Moving forward we'll be changing this architecture to a much more centralised code-base, but in the meantime I have issues deploying new sites and updating them, and I'm looking to use SVN to resolve this, if possible.

As a test, I installed the SVN client on one of the servers and wrote a simple script that is automatically added to every domain upon creation. When you visit the site you are presented with an option to deploy whichever piece of software you need. Once selected, the script essentially just does an SVN checkout and all software is deployed in seconds, ready to go through the actual installer that comes with the software in question. This works perfectly and I'm really happy with it. However, I'm dubious about whether we actually need to checkout or not. I was also thinking about then deleting all .svn directories, but it occurred to me that leaving them will give me better control over updating them, etc. If I just created an update script that checks what files are updated on the SVN server, I could select them and update them as necessary, rolling back where needed, right?

I'm also thinking about the bespoke sites, which are based originally on the core software, but additional requirements mean a code change specific for this site. Would this be better as a branch of the original code-base?

As it stands, using SVN CO is a great solution for us to deploy the software. The other option is to rsync it across, but I'm very interested to hear people's opinions on this. Especially people who've tried it. Personally, I can't wait to get away from this architecture but it's going to take time to write that