diff options
author | Miloslav Trmač <mitr@redhat.com> | 2019-01-09 21:38:49 +0100 |
---|---|---|
committer | Miloslav Trmač <mitr@redhat.com> | 2019-01-14 04:07:23 +0100 |
commit | b9c0f2c987688a8e7ee2c8f4e4fbf6b1a8fee024 (patch) | |
tree | adbf725a76e1c87db1b75a89e86fc6725b0f8913 | |
parent | e060a19c8768c9dd65d1b8dcbd6da7ec9faa1163 (diff) | |
download | podman-b9c0f2c987688a8e7ee2c8f4e4fbf6b1a8fee024.tar.gz podman-b9c0f2c987688a8e7ee2c8f4e4fbf6b1a8fee024.tar.bz2 podman-b9c0f2c987688a8e7ee2c8f4e4fbf6b1a8fee024.zip |
Use reference.TagNameOnly instead of manually adding imageParts.tag in normalizeTag
Again, rely on the official API, instead of the suprising "suspiciousTagValueForSearch"
value (set to :latest on untagged images, and :none on digested ones!)
CHANGES BEHAVIOR, but the previous output of normalization of digested values was
not even syntatically valid, so this can't really be worse.
Still, maybe we should refuse to tag with digested references in the first place.
Signed-off-by: Miloslav Trmač <mitr@redhat.com>
-rw-r--r-- | libpod/image/image.go | 7 | ||||
-rw-r--r-- | libpod/image/image_test.go | 2 |
2 files changed, 3 insertions, 6 deletions
diff --git a/libpod/image/image.go b/libpod/image/image.go index 2457a1c22..0b743e144 100644 --- a/libpod/image/image.go +++ b/libpod/image/image.go @@ -471,12 +471,9 @@ func normalizeTag(tag string) (string, error) { return "", err } } - tag = ref.String() // If the input does not have a tag, we need to add one (latest) - if !decomposedTag.isTagged { - tag = fmt.Sprintf("%s:%s", tag, decomposedTag.tag) - } - return tag, nil + ref = reference.TagNameOnly(ref) + return ref.String(), nil } // TagImage adds a tag to the given image diff --git a/libpod/image/image_test.go b/libpod/image/image_test.go index a85cd5386..96148c2cd 100644 --- a/libpod/image/image_test.go +++ b/libpod/image/image_test.go @@ -264,7 +264,7 @@ func TestNormalizeTag(t *testing.T) { {"#", ""}, // Clearly invalid {"example.com/busybox", "example.com/busybox:latest"}, // Qualified name-only {"example.com/busybox:notlatest", "example.com/busybox:notlatest"}, // Qualified name:tag - {"example.com/busybox" + digestSuffix, "example.com/busybox" + digestSuffix + ":none"}, // Qualified name@digest; FIXME: The result is not even syntactically valid! + {"example.com/busybox" + digestSuffix, "example.com/busybox" + digestSuffix}, // Qualified name@digest; FIXME? Should we allow tagging with a digest at all? {"example.com/busybox:notlatest" + digestSuffix, "example.com/busybox:notlatest" + digestSuffix}, // Qualified name:tag@digest {"busybox:latest", "localhost/busybox:latest"}, // Unqualified name-only {"ns/busybox:latest", "localhost/ns/busybox:latest"}, // Unqualified with a dot-less namespace |