Allow HTTP Push with Mercurial Server
I have always loved git but my present work at Mozilla requires me to use mercurial. If you weren't already aware, Firefox code is managed through mercurial! I was recently tasked with standing up a mercurial server within a docker container and ran into an issue: mercurial rejected pushes to the local docker container via HTTP. Since HTTPS wasn't configured for the docker container locally, I needed to figure out how to get mercurial to allow HTTP pushes.
To allow HTTP pushes to a mercurial repo, modify the mercurial server's hgweb.conf
configuration file to include:
[web] allow_push = * push_ssl = false
This configuration will allow you to push to your mercurial repository without SSL. If you don't run your mercurial server with a specific hgweb.conf
now, you can run mercurial server with a special config via:
exec hg serve --web-conf path/to/hgweb.conf
HTTPS is the way to go these days but for local development it shouldn't be a requirement. I hope this helps someone!
This is useful.
With the impending BitBucket deletion of mercurial repos I’m looking to migrate to a private server on my intranet.
I’d like to stand up a docker container for this, but struggling to find an official container. What did you use?