From 39da4bc7c7342fdda51f32c5cbdb77a16f9f1e0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Gronowski?= Date: Wed, 3 Jan 2024 16:01:13 +0100 Subject: [PATCH] images/Export: Revert signature change MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Don't make the `Export` signature more restrictive in a cherry-pick. Signed-off-by: Paweł Gronowski --- images/archive/exporter.go | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/images/archive/exporter.go b/images/archive/exporter.go index 583a5bd185288..fde45a432b556 100644 --- a/images/archive/exporter.go +++ b/images/archive/exporter.go @@ -218,7 +218,7 @@ type ContentProvider interface { } // Export implements Exporter. -func Export(ctx context.Context, store ContentProvider, writer io.Writer, opts ...ExportOpt) error { +func Export(ctx context.Context, store content.Provider, writer io.Writer, opts ...ExportOpt) error { var eo exportOptions for _, opt := range opts { if err := opt(ctx, &eo); err != nil { @@ -231,13 +231,17 @@ func Export(ctx context.Context, store ContentProvider, writer io.Writer, opts . } manifests := make([]ocispec.Descriptor, 0, len(eo.manifests)) - for _, desc := range eo.manifests { - d, err := copySourceLabels(ctx, store, desc) - if err != nil { - log.G(ctx).WithError(err).WithField("desc", desc).Warn("failed to copy distribution.source labels") - continue + if infoProvider, ok := store.(content.InfoProvider); ok { + for _, desc := range eo.manifests { + d, err := copySourceLabels(ctx, infoProvider, desc) + if err != nil { + log.G(ctx).WithError(err).WithField("desc", desc).Warn("failed to copy distribution.source labels") + continue + } + manifests = append(manifests, d) } - manifests = append(manifests, d) + } else { + manifests = append(manifests, eo.manifests...) } algorithms := map[string]struct{}{}