Keeping Your Life in Subversion

Joey Hess, a fellow Debian developer, keeps his life in subversion:

For the past five years, I've checked every file I've created and worked on, every email I've sent or received, and every config file I've tweaked into revision control.

He has done this for an even longer time using CVS (see his other article "CVS homedir") and explains the advantages of using SVN over CVS. He successfully converted his CVS repositories to SVN and they now amount to several gigabytes of content.

I'm quite impressed with this, and - having already used SVN for several code projects - decided to use it for my homedir now, too. Today, I checked in my .bashrc, .bash_logout, .bash_profile, .procmailrc, .muttrc, .slrnrc, .xsession, .vimrc, .signature and a few other files into SVN, more will follow later.

Also, quite important for me, my local .todo file (currently a 130 KB plain-text file with more or less important TODO items) is now in SVN. I imagine I'll have a lot of fun when I browse the history of my .todo file in a few years ;-)

One thing I already have in SVN for quite some time is my websites. Before uploading any file (via FTP, scp, whatever) I check it in on my local computer. As most of my sites are database-driven (using wikis or CMSes), I also periodically get the database dumps and check them into SVN.
This provides me with the additional benefit, that I can test any changes to my websites on my local computer, before they become public. If I mess up, I can always restart with a simple rm -rf foo && svn up foo.

For the future I plan to also put my /etc directory as well as the /etc of my server(s) into version control.