Take the 2-minute tour ×  I'm a big fan of backing things up. I
keep my important school essays and such in a folder of my
Dropbox. I make sure that all of my photos are duplicated to an
external drive. I have a home server where I keep important
files mirrored across two drives inside the server (like a
software RAID 1).  So for my code, I have always used Subversion
to back it up. I keep the trunk folder with a stable copy of my
application, but then I create a branch named with my username,
and inside there is my working copy. I make very few changes
between commits to that branch, with the understanding that the
code in there is my backup.  Now I'm looking into Mercurial, and
I must admit I haven't truly used it yet so I may have this all
wrong. But it seems to me that you have a server-side
repository, and then you clone it to a working directory in the
form of a local repository. Then as you work on something, you
make commits to that local repository, and when things are in a
state to be shared with ot