Yes, I'm considering writing a book: "Kevin Explores Things That Rock".
My company uses Perforce for source control. It works pretty well (although there is no shell integration and the Visual Studio integration is a bit flaky.)
I have my own projects on the side that I'd like to managed with source control. These are both code projects and non-code (poetry, screen plays, other writing) projects. Like I said, anything that I want backed-up, synced and versioned.
If you're like me, you share a set of conflicting tendencies.
- First, a tendency to have many machines that you work on.
- Second, a tendency to be paranoid about keeping important data backed-up and protected with good redundancy.
- Third, a tendency to hate redundancy! This goes along with SPOT. I hate when things get out of sync. I hate having things spread all over a bunch of machines.
Using a source control system helps a lot with this (especially if you're dealing with text-based data formats).
In the world of OSS, Subversion (SVN) is a big player in source management. It's supported by SourceForge. It's used by a mountain of OSS projects. And (drum roll) it has an amazing Windows shell extension: Tortoise.
- Step one: install.
- Step two: make directory somewhere on your machine.
- Step three: right-click and pick "SVN Checkout..."
- Step four: type in the URL of a public SVN repository. There are many out there. Check the list above.
- Step five: laugh at how easy it all is.
Tortoise supports the creation of patches. Renaming and branching. It even has great shell indicators so you know what's checked-in and what's pending check-in. (It works great on XP. So-so on Vista.)
Take a look at TortoiseSVN.
If you're looking for hosting for your SVN repository, check out DreamHost.
Happy Hacking...and don't forget to build an test before you check-in. :-)