I have many accounts on Unix machines scattered around my house, the country, and the planet, and I have an abiding desire for every single one of these disparate accounts to work and look exactly the same. I don't care if the machine I'm logging in to is in Japan or the Netherlands... if I cannot concentrate on the important differences instead of being distracted by the unimportant ones, then I will be less productive.
Keeping everything in version control buys you two really nice things:
- Location independent storage, which can be reliable, available and all that other good stuff from being on a separate host.
- Revision history. You can track just about any change you make.
It's handy to be able to run svn diff on my kernel config file to see how make xconfig changed it. I can recover files that I've deleted, or delete files because they're not relevant right now, and know I've not really lost them at all. Amazingly, my Subversion repository is only 4GB in size even with all this historical data.
I used CVS while getting my Master degree and kept everything there, source code, LaTeX files, word documents, graphs, data-sets, everything. I've got quite a history of work in there now.
For my latest project I've started using a hosted Subversion server at My Version Control. Silly name, but they seem to be pretty top notch. I've been in the middle of a support thread for a while and it's run by a pair of brothers in the UK. Sounds like they're just starting out, but they're really nice, helpful, professional, and their interface is slicker than snot on a doorknob. Oh yeah, they've got Trac integration which is awesome: "Trac uses a minimalistic approach to web-based software project management."