Always, always, always use a RCS.
I was so close to release (I thought, as always). I had but a few bugs, one in particular that I wanted to address: the permissions on everything I created were r-x r-x r-x. I made some changes to the code to hopefully fix this and the other issues, and did my usual three hour wait for the installer to run. Nothing worked. Not just the changes I had made, but everything but Gaim and Yahoo import was failing now. Yikes. Now, if I was smart about this, I could see what changes I made using bzr diff and I could just roll back to better times. But alas, I’ve been trying to only commit when I’ve reached some sort of milestone and had not sent anything to bzr in quite a while. I’m obviously rethinking that approach for the future.