Page MenuHomeSoftware Heritage

model: Exclude 'raw_manifest' from dictionaries when it is null
ClosedPublic

Authored by vlorentz on Dec 9 2021, 12:33 PM.

Details

Summary
  1. Most objects do not need it so it's a waste of space
  2. This means we just extend the existing format (some objects will have that key in their dict) instead of changing it (retroactively adding it to all objects)

Depends on D6801.

Diff Detail

Repository
rDMOD Data model
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Build is green

Patch application report for D6811 (id=24683)

Could not rebase; Attempt merge onto 5eb65393af...

Updating 5eb6539..1f068e8
Fast-forward
 swh/model/model.py            |  83 ++++++++++++++++++++++++++-----
 swh/model/tests/test_model.py | 113 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 183 insertions(+), 13 deletions(-)
Changes applied before test
commit 1f068e8523df6d13d71346925c4f3c7b835bc882
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Thu Dec 9 12:33:32 2021 +0100

    model: Exclude 'raw_manifest' from dictionaries when it is null
    
    1. Most objects do not need it so it's a waste of space
    2. This means we just extend the existing format (some objects will
       have that key in their dict) instead of changing it (retroactively
       adding it to all objects)

commit b9e0617e74d790c224f0bba31e541fe7b6b673de
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Wed Dec 8 16:28:25 2021 +0100

    model: Add a raw_manifest attribute
    
    This will be used to store the original manifest of 'weird' git objects,
    when we cannot reasonably represent them otherwise.

commit 59ed64b08cd42c5af988b402f5948b077a5cb296
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Wed Dec 8 16:24:38 2021 +0100

    model: Add a check() method to model objects
    
    It calls attr.validate() (which calls the validators), and recomputes
    the hash of HashableObject instances.
    
    A future commit will also make it check the raw_manifest attribute
    when relevant

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

This revision is now accepted and ready to land.Dec 9 2021, 2:30 PM
This revision was landed with ongoing or failed builds.Dec 22 2021, 1:22 PM
This revision was automatically updated to reflect the committed changes.

Build is green

Patch application report for D6811 (id=24898)

Could not rebase; Attempt merge onto 9e1e14a829...

Updating 9e1e14a..2abbf73
Fast-forward
 swh/model/model.py            | 73 +++++++++++++++++++++++++++++++-------
 swh/model/tests/test_model.py | 82 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 142 insertions(+), 13 deletions(-)
Changes applied before test
commit 2abbf7346a5f8789065544cfd0f690d5329edd06
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Thu Dec 9 12:33:32 2021 +0100

    model: Exclude 'raw_manifest' from dictionaries when it is null
    
    1. Most objects do not need it so it's a waste of space
    2. This means we just extend the existing format (some objects will
       have that key in their dict) instead of changing it (retroactively
       adding it to all objects)

commit f6144a15fa507ffd4e7acca207bcf5272ed16fbd
Author: Valentin Lorentz <vlorentz@softwareheritage.org>
Date:   Wed Dec 8 16:28:25 2021 +0100

    model: Add a raw_manifest attribute
    
    This will be used to store the original manifest of 'weird' git objects,
    when we cannot reasonably represent them otherwise.

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