<p>Im thinking of updating my practices, and looking for a little help and advice!</p>

<p>I do a lot of work on sites that run joomla, oscommerce, drupal etc and so I have created a lot of custom components/plugins and hacks etc. Currently each site has its own folder on my xampp setup.  What I would like to do is have a default setup of (for example) a Joomla setup and when I make changes updates, I can do something which updates all the other folders that contain joomla, almost like an auto update?</p>

<p>Im also looking at using Aptana IDE more and SVN service such as <a href="http://unfuddle.com/" rel="nofollow noreferrer">unfuddle</a> to share my work with others, but I have not used SVN before and not sure if its possible to do the above using SVN?</p>

<p>It would be great to be able to work on a main/core item and send the updates to both local updates and to actual servers, without having to maintain lots of different individual sites.</p>

<p>Suggestions?</p>

Yes, SVN would be a great tool for this purpose. Store your code (eg: a custom Joomla component) in source control. Wherever you want to use that component, just do a
```
checkout
```
or
```
export
```
of that particular folder into your live site. Here's one way you could structure your repository:
```
unfuddle.com/myRepo/trunk/com_myComponent
unfuddle.com/myRepo/trunk/com_anotherComponent
```
Log in to your live server via SSH and run this command:
```
> cd path/to/joomla/components
> svn co http://unfuddle.com/myRepo/trunk/com_myComponent
```
Any time you change your code, commit the changes and then log back into the server and run:
```
> cd path/to/joomla/components
> svn up com_myComponent
```
A real benefit of this is that should you do an update and break something, you can always roll it back to the last known "good" version.
As for automating this process, you might be out of luck if it's on different servers. For multiple deployments on the same server, you could quite easily write a shell script to run the above commands for each site/component. If you needed this to be fully automated, you could even set up a cron job to run this script every day at 2am or something - personally I'd stick with the manual approach, but it's still an option.
For working locally with your SVN repositories, I'd recommend looking at
TortoiseSVN
(if you're on Windows): it's the simplest and easiest way to work with SVN.