internal fragmentation

a personal journal of hacking, science, and technology

Mercurial December and January updates

Tue, 15 Feb 2011 16:59 by mpm in Uncategorized (link)

Looks like I’ve gotten a bit behind on my status updates (and blogging in general). In December:

  • Released 1.7.2 and 1.7.3
  • Reviewed and merged 124 changesets
  • Authored 34 changesets
  • Wrote 140 mailing list messages
  • Daily IRC office hours

The biggest things I worked on here was writing a whole new backwards compatible templating engine based on the parser that I introduced for revsets. The new engine can handle complex expressions like conditionals, nested subtemplates, and function calls.

In January:

  • The 1.7.3 released got released early, so no releases in January
  • Reviewed and merged 80 changesets
  • Authored 25 new changesets
  • 94 mailing list messages
  • Daily IRC office hours

For January, I spent a lot of time working on eliminating the so-called “lazy index” used for large revlogs. This used to speed up some operations (like hg tip) at the expense of others. My recent changes should speed up hg for many common operations on large repos. I’ve also spent some time researching moving much of the revlog parsing to C, as a huge amount of the parsing time is spent on allocating and building Python objects and not on I/O.