I have 3 current problems with my windows usage:
- I happen to be a member of the camp of people who believe that Windows really should be re-installed ever 6-12 months. It frankly just gets to crufty, performance drops, errors increase, in general it just sucks after it’s been used for to long.
- As a half and half Linux/XP user, windows in it’s default install is barely usable. I need at least Cygwin, Firefox, Putty and a handful of other apps; lest I tear open the case, snap the motherboard in half, and gouge out my eyes like a half crazed King Lear.
- I like to run current software on the 3 XP pcs I use on a regular basis: Work, Home and Laptop – but if I install an update on one, I have a tendency to forget to install it on the others.
One piece of software has stepped in to fill much of the void waiting to be filled for these three issues: Subversion. Now, I realize it’s nothing new to check files into a version control repository, but Subverion is the first piece of free (as in beer, as well as in the Open Source meaning) software that doesn’t suck when applied to the problem of keeping track of one’s installers.
Setup of a server for subversion is fairly easy if you already have an apache server, but it can also run using the apache portable runtime, in pretty much any environment apache can run on, including windows. O’Reilly has even made it’s excellent book on configuring and using Subversion available for free on the web.
After getting the server set up on a system that you can access from most, if not all the computers you have to use, you will want to install TortoiseSVN. This app integrates with explorer, and it makes it bloody simple to check in files, update them, and pull them down elsewhere.

Figure 1: Subversion
So what I tend to do is I keep a directory tree of various types of software. Networking, Programming, Applications, Multimedia, etc. When I realize that an app is something I will want to keep installed (or when I download an update to something I already keep installed on all my boxen), I make a directory for it in my New Install folder, under the appropriate type, and then check it in. When I switch to a different computer, hit update, and bam – all my installers are updated to the current version with the added benefit that I can see what all I need to update on that computer based on which files TortoiseSVN says got updated. If I decide I no longer want to use a particular package, removal is easy, as is moving files around the directory structure (since Subversion actually supports renaming directories and files.)
Now, my three computers all basically keep the same environment, so I can sit down at any one of them and feel confident that I will have the tools I need.