I'm using Mercurial as my SCM, mainly because I like the ability to commit changes to a project even while offline. I'm going to be moving PCs soon and so I decided to look into finding some free Mercurial repo hosting so I don't lose my data. I signed up for a Bitbucket account and I noticed that they offer space for only a single private repository with their free accounts. Wouldn't that mean that some of my stuff might end up publicly available? As in, anyone can download and use it in their projects?
Yes, unless you put them all under a single repository. Otherwise, you need to pay them for more private repos.
Yes, BitBucket only offers one private repository for free.
However, if you're just worried about transferring the projects to your new machine, I think BitBucket is overkill. Will you be in possession of both machines at once, even for a short period of time?
If so, I would just use hg serve
in each project directory (one at a time) of the old machine and hg clone http://ip.of.old.machine:8000/ projectname
to clone the changes onto the new machine.
EDIT: If you're looking for a way to back up without sharing the repos publicly you could get a Dropbox account and clone a copy of each repo to the Dropbox folder on your local machine. Whenever you push changes they'll get synced up to Dropbox automatically.
If you computer catches on fire and you replace it you just install Dropbox and then clone from the repos in the Dropbox folder to your preferred location.
I'm not sure how well this would work if you want to use the Dropbox copy of the repo on multiple platforms (from a Windows box and a Linux box, for example).
run hg bundle --all
in all your repositories, stuff the bundles somewhere (like a usb stick), hg unbundle
them on the new machine.