HomeSoftware Heritage

Rework the way we process snapshots and branches

Description

Rework the way we process snapshots and branches

Summary:
The previous code uses a brittle double-iteration and would break in a subtle
way when having several branches pointing at the same target. Surprisingly, we
didn't notice it before, even though most snapshots have a HEAD and
refs/heads/master branch pointing to the same object.

I've also added FIXMEs for things I noticed should be changed in the long run.

Depends on D415

Test Plan: the test case has been updated to exert the issue in the old code

Reviewers: Reviewers!

Differential Revision: https://forge.softwareheritage.org/D417

Details

Provenance
olasdAuthored on Sep 19 2018, 11:08 AM
anlambertCommitted on Sep 19 2018, 11:08 AM
anlambertPushed on Sep 19 2018, 11:25 AM
Differential Revision
D417: Rework the way we process snapshots and branches
Parents
rDWAPPS0dca31565ee5: Update SwhBrowseUtilsTestCase.get_origin_visit_snapshot with real-world data
Branches
Unknown
Tags
Unknown