mercurial changegroup application

1 · Nelson Elhage · May 30, 2017, 4:01 p.m.
Mercurial (sometimes called “hg”, the name of its command-line tool, named after the elemental symbol for mercury) is a distributed version-control system. When applying a “change group” (a group of changes applied as a unit, e.g. in a single hg push), Mercurial tracks the heads before and after the changeset. Previously, it stored the “oldheads” list of pre-changeset heads as a Python list, and computed the newly-created heads post-changeset with: newheads = [h for h in repo.heads() if h not in...