reference/docker: synchronize fork with upstream distribution/distribution#7635
Merged
dmcgowan merged 9 commits intocontainerd:mainfrom Nov 29, 2022
Merged
reference/docker: synchronize fork with upstream distribution/distribution#7635dmcgowan merged 9 commits intocontainerd:mainfrom
dmcgowan merged 9 commits intocontainerd:mainfrom
Conversation
This package was forked from the https://github.com/distribution/distribution repository in commit 901bcb2, but that commit did a plain copy of the code (minus tests), and rewrote the code to be in a single file. The same commit also removed some deprecated code for handling "shortid" references (ParseAnyReferenceWithSet() function), in order to avoid the "digestset" dependency from the distribution repo. At the time, containerd used the distribution/distribution package from this commit: distribution/distribution@0d3efad Since the code was forked, both containerd and distribution have received improvements and fixes, so unfortunately, the code started to diverge. I'm planning to reconcile the packages (potentially by using a shared module), and this is the first commit to assist with that. This patch restructures the reference/docker package to split the code into the same files as are used in the upstream distribution/distribution repository. This makes it easier to compare the implementations in both repositories (to allow synchronizing changes). No changes are applied yet, other than splitting the code (follow-up commits will take care of syncing changes across). Signed-off-by: Sebastiaan van Stijn <[email protected]>
This copies the unit-tests from the distribution repository from the time when the package was forked. The tests are copied from this commit: distribution/distribution@0d3efad Tests for ParseAnyReferenceWithSet() have been removed, as that function has not been included in the containerd fork. Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Aviral Takkar <[email protected]> Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Chuanying Du <[email protected]> Signed-off-by: Sebastiaan van Stijn <[email protected]>
Go 1.13 and up enforce import paths to be versioned if a project contains a go.mod and has released v2 or up. The current v2.x branches (and releases) do not yet have a go.mod, and therefore are still allowed to be imported with a non-versioned import path (go modules add a `+incompatible` annotation in that case). However, now that this project has a `go.mod` file, incompatible import paths will not be accepted by go modules, and attempting to use code from this repository will fail. This patch uses `v3` for the import-paths (not `v2`), because changing import paths itself is a breaking change, which means that the next release should increment the "major" version to comply with SemVer (as go modules dictate). Signed-off-by: Sebastiaan van Stijn <[email protected]>
Add context to comment to explain the repo name regex in addition to describing it. Signed-off-by: David Warshaw <[email protected]> Signed-off-by: Sebastiaan van Stijn <[email protected]>
Previous implementation was doing a lot of string -> regexp -> string conversions Signed-off-by: Paul Cacheux <[email protected]> Signed-off-by: Sebastiaan van Stijn <[email protected]>
Signed-off-by: Paul Cacheux <[email protected]> Signed-off-by: Sebastiaan van Stijn <[email protected]>
Current registry reference use a subset of dns and IPv4 addresses to represent a registry domain. Since registries are mostly compatible with rfc3986, that defines the URI generic syntax, this adds support for IPv6 enclosed in squared brackets based on the mentioned rfc. The regexp is only expanded to match on IPv6 addreses enclosed between square brackets, considering only regular IPv6 addresses represented as compressed or uncompressed, excluding special IPv6 address representations. Signed-off-by: Antonio Ojea <[email protected]> Signed-off-by: Sebastiaan van Stijn <[email protected]>
Member
Author
AkihiroSuda
approved these changes
Nov 7, 2022
dmcgowan
approved these changes
Nov 29, 2022
Member
|
Approving with the expectations this package will find a new home outside our main repo 😄 |
Member
Author
|
Yup! Working on that |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
reference/docker: align files with original code
This package was forked from the https://github.com/distribution/distribution
repository in commit 901bcb2 (#3728), but that commit
did a plain copy of the code (minus tests), and rewrote the code to be in a
single file. The same commit also removed some deprecated code for handling
"shortid" references (ParseAnyReferenceWithSet() function), in order to avoid
the "digestset" dependency from the distribution repo.
At the time, containerd used the distribution/distribution package from this
commit: distribution/distribution@0d3efad
Since the code was forked, both containerd and distribution have received
improvements and fixes, so unfortunately, the code started to diverge.
I'm planning to reconcile the packages (potentially by using a shared module),
and this is the first commit to assist with that.
This patch restructures the reference/docker package to split the code into the
same files as are used in the upstream distribution/distribution repository.
This makes it easier to compare the implementations in both repositories (to
allow synchronizing changes).
No changes are applied yet, other than splitting the code (follow-up commits
will take care of syncing changes across).
reference/docker: add unit-tests from upstream distribution/distribution
This copies the unit-tests from the distribution repository from the time when
the package was forked. The tests are copied from this commit:
distribution/distribution@0d3efad
Tests for ParseAnyReferenceWithSet() have been removed, as that function has not
been included in the containerd fork.
Forward port (partial) patches:
Bringing this fork back in sync with https://github.com/distribution/distribution