Allow HTTP Push with Mercurial Server

By  on  

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!

Recent Features

  • By
    Regular Expressions for the Rest of Us

    Sooner or later you'll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...

  • By
    CSS @supports

    Feature detection via JavaScript is a client side best practice and for all the right reasons, but unfortunately that same functionality hasn't been available within CSS.  What we end up doing is repeating the same properties multiple times with each browser prefix.  Yuck.  Another thing we...

Incredible Demos

  • By
    CSS Transforms

    CSS has become more and more powerful over the past few years and CSS transforms are a prime example. CSS transforms allow for sophisticated, powerful transformations of HTML elements.  One or more transformations can be applied to a given element and transforms can even be animated...

  • By
    JavaScript Battery API

    Mozilla Aurora 11 was recently released with a bevy of new features. One of those great new features is their initial implementation of the Battery Status API. This simple API provides you information about the battery's current charge level, its...

Discussion

  1. Josh

    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?

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!