Page MenuHomeSoftware Heritage

Document consistency guarantees of the loaders with respect to the storage
Closed, MigratedEdits Locked

Description

How how we guarantee that loader failures do not create "holes" in the archive, that would never be filled because most loaders are incremental.

The rough idea is never to write objects unless we wrote objects they reference first; but the devil is in the details and we should write them out.

For example, we may write directories before other directories they references, or revisions before other revisions they reference; but it does not matter because we do the dedup using objects written later (snapshots for git, extids for mercurial)