Do not reference unloaded snapshots in origin_visit_update
When a repository fails to load, and the visit is set to partial
status, some
loaders might have been able to generate a snapshot and an identifier, but
without actually loading it to the archive. This generates partial visits
referencing an inexistant snapshot.
Make sure that we only reference a snapshot in origin_visit_update when it's
actually been loaded (and flushed) to storage; do so by turning the
get_snapshot_id
method into a loaded_snapshot
attribute that gets populated
explicitly after flushing the snapshot to storage.
Depends on !90 (closed). Depends on !91 (closed).
Test Plan
new tox tests added for the new behavior
Migrated from D3201 (view on Phabricator)