published on
tags: Mercurial Evolve

Evolve/topic mini-sprint

Tuesday and Wednesday of this week, I attended the evolve mini-sprint initiated by Octobus at Logilab office in Paris.

The 6 to 8 people present focused together on bringing evolve even more ready for masses, by fixing bugs and improving the documentation.

My contribution

My main contribution was to help Boris Feld improve the mercurial graphviz (now mercurial_docgraph) extension, which generates nice .dot graphs for a group of changesets.

Like, for example:

The extension was then used to generate nicer evolve and topic tutorials, which should be updated online soon (look for graphical illustrations in evolve tutorial and topic tutorial).

Doing so, I ran into a subtle issue with unicode default value for command options (a patch is being discussed), and hopefully I am the last one to lose hours because of it.

Why evolve?

I cannot emphasize enough the importance of the evolve extension in the mercurial ecosystem.

The features it brings, especially when used along the topic extension, makes mercurial standing high above the other DVCS in day-to-day work, including working with unexperienced users.

At Orus1, we already happily use both evolve & topic, and I used evolve for several years at Unlish. And we are not the only ones, far from it! The CubicWeb project for instance, has been using it for a long time too.


I take the opportunity here to underline the tremendous work of Pierre-Yves David over the last 6 years (!!) to bring his original idea of tracking history rework operations into the fantastic tool it is today, and also to get people to believe and invest in what could seem a fantasy at first.

The result is pretty amazing and I look forward to having evolve (and topic!) widely used.

  1. By the way, if you need expertise for hosting all this, my company CloudCrane can help.