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
    7 Essential JavaScript Functions

    I remember the early days of JavaScript where you needed a simple function for just about everything because the browser vendors implemented features differently, and not just edge features, basic features, like addEventListener and attachEvent.  Times have changed but there are still a few functions each developer should...

  • By
    CSS Filters

    CSS filter support recently landed within WebKit nightlies. CSS filters provide a method for modifying the rendering of a basic DOM element, image, or video. CSS filters allow for blurring, warping, and modifying the color intensity of elements. Let's have...

Incredible Demos

Discussion

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