I like what you have done I believe that this is what I am looking for to manage my work.
I would like to ask a few questions. Can you explain how you have integrated the subversion, and would you be willing to share some of the .bat files so I can get an idea of how items are being handled.
Your first question is a bit general, so here is a general answer to that:
I set up a repository, set up to handle "vendor branches" along with the standard TTB structures. Configured the svn server so I access it via svn://localhost/
Downloaded and installed virgin XAMPP + Perl, committed and tagged. Set SVN to ignore the kruft generated by running the servers, editing files (logs, backup files, etc). Deleted the original install and did a checkout back into the same place.
Did my basic configuration changes to handle the various virtual hosts, tested everything committed and tagged. Copied in all the content directories from my old installation, tested everything committed and tagged.
From then on: make changes, test, commit tags for major milestones.
Bring in a new vendor branch (e.g. Drupal) over a check out of relatively virgin tags so I can re-use them for different setups later.
Enough of that for now - visit the subversion forums for further help on this - make sure you read "The Book" well and search there first of course.
Regarding my batch files - please just use them as samples for understanding the process.
APO installed, runs autorun.inf
ACTION = Usb-Menu
which runs the autoexec.bat in the root of the flash drive
subst H: /D
Start "close me" PortableApps\PStart\PStart.exe
My host computer is set to SUBST "map" drive H: to the "root" location on my filesystem where my flash drive data gets replicated.
I also have H: set (in XP "manage computer") as the fixed drive letter of that flash drive.
So when I insert my flash, the autoexec "un-SUBSTs" the drive letter mapping so the flash drive real root shows up in the same location.
As I do this on all my computers (work, home, notebook) in theory I can run all my portable apps and access my data in all the same path locations when the drive is inserted or not. In reality I never actually run anything from my thumb drive unless I'm on someone else's computer.
Note the actual filesystem locations are different on different machines.
However, my RemoveDrive program location is always the same, and I've got PStart configured to run this batch file on exit:
REM Note this batch file must be executed AFTER PStart has exited, and from a location on the harddrive (C:\Program Files\RemoveDrive\)
REM Also, the letter will change from one machine to another, and if you have APO running you don't need the pause to confirm the drive's been safely removed
subst /D G:
subst /D H:
subst /D X:
Oh I didn't tell you I have multiple thumb drives setup, with the smaller (faster) one actually a subset of the bigger (slower) one. But it doesn't make things much more complicated.
Note this file calls SyncBack from the thumbdrive itself, so if it isn't inserted it just flashes an error and runs through the rest of the batch.
So the workflow - start one of my computers, the local PStart menu launches. If I know I have more recent data (from another of my computers) on one of my thumbs, I just exit out from PStart (un SUBST'ing any mapped drive letters), insert the thumb drive and it launches its PStart menu (which is kept in sync along with everything else of course). I just exit out of that and SyncBack starts up, I start a replication from the thumb to the local drive and when it's done, exit from PStart and the thumb is automatically safe-removed.
Re-start the local PStart (hot-key tool) with a batch that re-SUBSTs everything and I'm working in my usual portable working environment with an up-to-date fileset. Work work work. Before shutting down that machine, exit the local PStart, insert the thumb, it fires up PStart, I exit that and SyncBack from the local fileset back to the thumbdrive.
Next time I want to work on one of my machines, insert the thumbdrive (loop to above).
I haven't completely refined the process, basically stopped once everything was working well enough.
The only problem comes when you are working on multiple machines at the same time - have to be careful with your SyncBack settings to make sure you don't wipe out a subset of your work.
But if you do everything properly, then all your working files are constantly being backed up to multiple machines in multiple locations - backing up your data becomes integrated with your normal workflow.
And with CVS or Subversion you can also roll back any changes to previous versions.
And I didn't mention that my biggest machine (at work) is also running Ghost in the background so if I mess things up I can get previous versions of the files back from there.
I so much wish I had started working like this twenty years ago, I've lost so much data by relying on manual backups in the past <sigh>
Hope that's enough to get you started. . .