I've been thinking about setting up a simpler, change-set based source coderepository for my little personal projects for a while now. For the past six months or so I've been using SVN on my TextDrive accountbut ... looking for something different.
I ran acrossMercurial(hg) at least twicenow recently, so that speaks to me "check it out". Getting it set up on my local box was straightforward, and of course the next step is getting it set up on your server.I host at TextDrive. And Bill de hÓra recently posted some instructionson how to do just that. Kind of.
The problem with Bill's instructions are that you're setting it up to run using Basic Auth but using http instead of https. Bill points out himself, that"This isn't secure". Using https with TextDrive is possible, but attimes confusing. Luckily, there is a fairly straight-forward way to get toa secure solution.
The basic idea is to use the ssh instead of http for when accessing your hgrepositories programmatically. Instructions on using ssh with hg are available in thehg(1) man page.
In a nutshell, follow Bill's instructions, with a few slight changes, and it just works, assuming you have ssh set up in the first place.
If this doesn't work, ping me; I perhaps forgot a step.
I also created a ~.hgrc file on my client box, with the followingcontents. The ssh setting causes ssh to use compression when transfering the data/files.
[ui] username = your name <yourname@yourmail> ssh = ssh -C
The only thing I don't like about the resulting set up is having toupdate the hgweb.config file on the server whenever you createa new repository. Though I suppose it's nice that you can selectivelymake repositories easily publicly accessible or not this way. I don't think I'd rely on this trick to hide something.
I copied Bill's instructions, and then augmented them with the changesI made, which you can findhere.I would have included them in this blog entry, but Roller decided to strip all the nice formatting I did out my post.And that's just unacceptable, given the stupid amount of time I spent adding it in, in the first place.