Since I started my new home directory on my new notebook in january, I also started to hold my complete home in a revision control system. I’ve read the article from Joey Hess last year and was fanscinated by the idea to have replication, history and distributed backups for my home directory. After a small google investigation, I also found Scott Scrivens article, which was very helpful for me, esp. because Scott gives precise startup hints.
My own setup is not so complex because I synchronize my home only on four machines, and all of them are linux boxes (two ubuntu laptops, a debian server and a suse desktop). This means, I dont need svn:externals. All my replicated dot-files are in $HOME/etc (e.g. $HOME/etc/psi) from where I put links to $HOME. This is easy to setup and I can change it from system to system. In $HOME I svn:ignore all dot-files so the links doesnt matter here.
Sometimes, in these first three months, I had a exhausting fight with svn cause it sometimes doesnt want what I want (i mean: I was not so experienced in using svn at first). For example: Everytime I update a firefox extension, I had problems cause firefox deleted the whole extension directory instead of updating the files inside the directory. The Problem: The new directory has the same name as the svn controlled directory but is not controlled by svn. So I cant commit it and also I cant update it…
I also do not commit mp3s and pictures to my home (like Joey). MP3s are rsynced and pictures live only on my internet server. Additionally, I also ignore browser caches (not feed caches!) and INBOX files.
Recapitulating, I can say it was the right step for me. The repository handling is not so difficulty as it looks first and the benefit is great. But there is a prerequisite for this geeky amusement: bandwidth and server space



