Skip to content
Snippets Groups Projects

Add a new ImmutableDict class, and use it in model objects.

So they are truly immutable now.


Migrated from D3417 (view on Phabricator)

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Build is green

    Patch application report for D3417 (id=12114)

    Could not rebase; Attempt merge onto 1ff05161...

    Merge made by the 'recursive' strategy.
     swh/model/collections.py            |  36 ++++
     swh/model/model.py                  | 263 ++++++++++++++++++++++-
     swh/model/tests/test_collections.py |  42 ++++
     swh/model/tests/test_model.py       | 409 ++++++++++++++++++++++++++++++++++++
     4 files changed, 740 insertions(+), 10 deletions(-)
     create mode 100644 swh/model/collections.py
     create mode 100644 swh/model/tests/test_collections.py
    Changes applied before test
    commit e3fb916401226ce8f46c959894c37ff27a95d76d
    Merge: 1ff0516 5b7ac4f
    Author: Jenkins user <jenkins@localhost>
    Date:   Fri Jul 3 15:08:49 2020 +0000
    
        Merge branch 'diff-target' into HEAD
    
    commit 5b7ac4fdf7c465def8303f2184ae9e0097983eca
    Author: Valentin Lorentz <vlorentz@softwareheritage.org>
    Date:   Fri Jul 3 17:08:19 2020 +0200
    
        Add a new ImmutableDict class, and use it in model objects.
        
        So they are truly immutable now.
    
    commit 5e3ae76689895f5bccb62cccca813f3810231a85
    Author: Valentin Lorentz <vlorentz@softwareheritage.org>
    Date:   Thu Jul 2 17:53:13 2020 +0200
    
        Add raw metadata to the model.
        
        This will allow swh-storage to have a signature for *_metadata_add
        that is consistent with other *_add endpoints.

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

  • Seems right ;)

  • That's great, thanks!

    Does the serialization/deserialization of these data structures work ok? I think we'll need to do a "deep" (well, 2D really) tuple conversion, instead of just top level tuplification, as msgpack turns all tuples into lists.

    I think ImmutableDict[str, object] should really be spelled ImmutableDict[str, Any]. Both versions are used currently.

  • Author Maintainer

    ! In !121 (closed), @olasd wrote: Does the serialization/deserialization of these data structures work ok? I think we'll need to do a "deep" (well, 2D really) tuple conversion, instead of just top level tuplification, as msgpack turns all tuples into lists.

    Probably not. I assumed we had tests for it, but it looks like we don't.

  • Author Maintainer

    rebase

  • Author Maintainer

    fix base commit

  • Build is green

    Patch application report for D3417 (id=12132)

    Rebasing onto 1ff05161...

    Current branch diff-target is up to date.
    Changes applied before test
    commit 30e0967fbdb38701eb9f4fa16f31a5c0b74b4a79
    Author: Valentin Lorentz <vlorentz@softwareheritage.org>
    Date:   Fri Jul 3 17:08:19 2020 +0200
    
        Add a new ImmutableDict class, and use it in model objects.
        
        So they are truly immutable now.
    
    commit da01882e0d68bfd7797a8e4e7502ab90906358ee
    Author: Valentin Lorentz <vlorentz@softwareheritage.org>
    Date:   Thu Jul 2 17:53:13 2020 +0200
    
        Add raw metadata to the model.
        
        This will allow swh-storage to have a signature for *_metadata_add
        that is consistent with other *_add endpoints.

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

  • Build is green

    Patch application report for D3417 (id=12134)

    Could not rebase; Attempt merge onto 1ff05161...

    Updating 1ff0516..408e638
    Fast-forward
     swh/model/collections.py            |  36 ++++
     swh/model/model.py                  | 255 +++++++++++++++++++++-
     swh/model/tests/test_collections.py |  42 ++++
     swh/model/tests/test_model.py       | 407 ++++++++++++++++++++++++++++++++++++
     4 files changed, 730 insertions(+), 10 deletions(-)
     create mode 100644 swh/model/collections.py
     create mode 100644 swh/model/tests/test_collections.py
    Changes applied before test
    commit 408e638b1dffe99e1afb1a3c77dbe0e14cb56042
    Author: Valentin Lorentz <vlorentz@softwareheritage.org>
    Date:   Fri Jul 3 17:08:19 2020 +0200
    
        Add a new ImmutableDict class, and use it in model objects.
        
        So they are truly immutable now.
    
    commit d4ea9a56aca02b8aed15186372749bfbe639d69f
    Author: Valentin Lorentz <vlorentz@softwareheritage.org>
    Date:   Thu Jul 2 17:53:13 2020 +0200
    
        Add raw metadata to the model.
        
        This will allow swh-storage to have a signature for *_metadata_add
        that is consistent with other *_add endpoints.

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

  • Author Maintainer

    ! In !121 (closed), @vlorentz wrote:

    ! In !121 (closed), @olasd wrote: Does the serialization/deserialization of these data structures work ok? I think we'll need to do a "deep" (well, 2D really) tuple conversion, instead of just top level tuplification, as msgpack turns all tuples into lists.

    Probably not. I assumed we had tests for it, but it looks like we don't.

    Actually, yes it does, because dictify converts ImmutableDict to dict

  • Antoine R. Dumont mentioned in merge request !122 (closed)

    mentioned in merge request !122 (closed)

  • Antoine R. Dumont mentioned in merge request !119 (closed)

    mentioned in merge request !119 (closed)

  • Merge request was accepted

  • Antoine R. Dumont approved this merge request

    approved this merge request

  • Author Maintainer

    rebase

  • Build has FAILED

    Patch application report for D3417 (id=12184)

    Could not rebase; Attempt merge onto a7d9aca2...

    Updating a7d9aca..7e870da
    Fast-forward
     swh/model/collections.py            |  36 ++++
     swh/model/model.py                  | 255 +++++++++++++++++++++-
     swh/model/tests/test_collections.py |  42 ++++
     swh/model/tests/test_model.py       | 407 ++++++++++++++++++++++++++++++++++++
     4 files changed, 730 insertions(+), 10 deletions(-)
     create mode 100644 swh/model/collections.py
     create mode 100644 swh/model/tests/test_collections.py
    Changes applied before test
    commit 7e870da44f87655ce027876a3b3885d60b8ffc57
    Author: Valentin Lorentz <vlorentz@softwareheritage.org>
    Date:   Fri Jul 3 17:08:19 2020 +0200
    
        Add a new ImmutableDict class, and use it in model objects.
        
        So they are truly immutable now.
    
    commit 78fc5f7cbc500bde5d917b8f55fc6c9e79608479
    Author: Valentin Lorentz <vlorentz@softwareheritage.org>
    Date:   Thu Jul 2 17:53:13 2020 +0200
    
        Add raw metadata to the model.
        
        This will allow swh-storage to have a signature for *_metadata_add
        that is consistent with other *_add endpoints.

    Link to build: https://jenkins.softwareheritage.org/job/DMOD/job/tests-on-diff/110/ See console output for more information: https://jenkins.softwareheritage.org/job/DMOD/job/tests-on-diff/110/console

  • Author Maintainer

    rebase + update for extra_headers / copy_pop

  • Build has FAILED

    Patch application report for D3417 (id=12198)

    Rebasing onto a7d9aca2...

    Current branch diff-target is up to date.
    Changes applied before test
    commit 2628ba1ab3e2163a043c2f1571c7a2a640d12cb0
    Author: Valentin Lorentz <vlorentz@softwareheritage.org>
    Date:   Fri Jul 3 17:08:19 2020 +0200
    
        Add a new ImmutableDict class, and use it in model objects.
        
        So they are truly immutable now.
    
    commit 78fc5f7cbc500bde5d917b8f55fc6c9e79608479
    Author: Valentin Lorentz <vlorentz@softwareheritage.org>
    Date:   Thu Jul 2 17:53:13 2020 +0200
    
        Add raw metadata to the model.
        
        This will allow swh-storage to have a signature for *_metadata_add
        that is consistent with other *_add endpoints.

    Link to build: https://jenkins.softwareheritage.org/job/DMOD/job/tests-on-diff/112/ See console output for more information: https://jenkins.softwareheritage.org/job/DMOD/job/tests-on-diff/112/console

  • Author Maintainer

    rebase + add test + fix type annotation

  • Build is green

    Patch application report for D3417 (id=12201)

    Could not rebase; Attempt merge onto a7d9aca2...

    Updating a7d9aca..af0dd1a
    Fast-forward
     swh/model/collections.py            |  49 +++++
     swh/model/model.py                  | 263 +++++++++++++++++++++--
     swh/model/tests/test_collections.py |  50 +++++
     swh/model/tests/test_model.py       | 407 ++++++++++++++++++++++++++++++++++++
     4 files changed, 754 insertions(+), 15 deletions(-)
     create mode 100644 swh/model/collections.py
     create mode 100644 swh/model/tests/test_collections.py
    Changes applied before test
    commit af0dd1aaee4943d6cec0f50f77a14bcd4d8733b5
    Author: Valentin Lorentz <vlorentz@softwareheritage.org>
    Date:   Fri Jul 3 17:08:19 2020 +0200
    
        Add a new ImmutableDict class, and use it in model objects.
        
        So they are truly immutable now.
    
    commit 78fc5f7cbc500bde5d917b8f55fc6c9e79608479
    Author: Valentin Lorentz <vlorentz@softwareheritage.org>
    Date:   Thu Jul 2 17:53:13 2020 +0200
    
        Add raw metadata to the model.
        
        This will allow swh-storage to have a signature for *_metadata_add
        that is consistent with other *_add endpoints.

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

  • closed

  • Author Maintainer

    Merge request was merged

Please register or sign in to reply
Loading