HomeSoftware Heritage

loader: add an hg-specific mapping for branching

Description

loader: add an hg-specific mapping for branching

As discussed in T3352, the branching mechanism of Mercurial is more
featureful than that of Git's. The Snapshot model was not designed
with multiple heads, closed heads, bookmarks, etc. in mind, but with
only branches being "pointers" to (mostly) revisions.
As a workaround for a possible re-design of the Snapshot model (though
nothing of the sort is planned for now), we define a mapping that better
represents Mercurial's branching system.

This allows for handling multiple heads per branch and closed branches,
whose revisions (if not already covered by another branch) would
previously have been lost to the ether. Additionally, bookmarks are now
saved to get a better representation of the projects that do use them.

Details

Provenance
AlphareAuthored on Jun 2 2021, 3:51 PM
AlpharePushed on Jun 15 2021, 11:30 AM
Differential Revision
D5816: loader: add an hg-specific mapping for branching
Parents
rDLDHG2b3dbb0ab563: mypy: Fix errors with release >= v0.900
Branches
Unknown
Tags
Unknown
Build Status
Buildable 21993
Build 34214: test-and-buildJenkins console · Jenkins