Page MenuHomeSoftware Heritage

deposit: Remove 'parent' deposit
ClosedPublic

Authored by vlorentz on Wed, Nov 3, 4:13 PM.

Details

Reviewers
anlambert
Group Reviewers
Reviewers
Summary

This diff un-reverts D6599.

The parent is computed by the deposit as the revision of the latest deposit
in the same origin before the current one.
Therefore, it is redundant, as it can be recomputed from metadata
+ revision date.

This is a preliminary change needed to make package loaders produce
releases instead of revisions, as releases don't have parent relationships

Diff Detail

Repository
rDLDBASE Generic VCS/Package Loader
Branch
releases-T3636
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 24861
Build 38829: Phabricator diff pipeline on jenkinsJenkins console · Jenkins
Build 38828: arc lint + arc unit

Event Timeline

Build is green

Patch application report for D6600 (id=23986)

Rebasing onto 5063082e7d...

Current branch diff-target is up to date.
Changes applied before test
commit 8ab9ae38ac44b216c1c86a0d53c018a1c4d7a02a
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Thu Oct 21 14:35:47 2021 +0200

    deposit: Remove 'parent' deposit
    
    The parent is computed by the deposit as the revision of the latest deposit
    in the same origin before the current one.
    Therefore, it is redundant, as it can be recomputed from metadata
    + revision date.
    
    This is a preliminary change needed to make package loaders produce
    releases instead of revisions, as releases don't have parent relationships

See https://jenkins.softwareheritage.org/job/DLDBASE/job/tests-on-diff/590/ for more details.

This revision is now accepted and ready to land.Wed, Nov 3, 4:18 PM

At that rate, I'm starting to wonder why we even bother with release/revision objects for deposits at all. If all substantial operations to understand their context need to go through the extrinsic metadata attached to the directory, we could just make the snapshot point to the directory directly?

The thing is, *everything* can be done using the extrinsic metadata storage instead of the main storage. But that means the data becomes less structured / schemaless, and I don't think that's a good thing.