diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-06-24 12:19:42 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-24 12:19:42 -0400 |
commit | 988fd27541dfa852ee9543c2d8a916896ef0c774 (patch) | |
tree | 592f484305f10be66d076952b6f81bc637309c11 /libpod | |
parent | 6bc5dcc2829c2bc08923df0b50f71582d5558fe8 (diff) | |
parent | 1c6c12581ce0f2257a862e3a6a8dbaa7d0f32686 (diff) | |
download | podman-988fd27541dfa852ee9543c2d8a916896ef0c774.tar.gz podman-988fd27541dfa852ee9543c2d8a916896ef0c774.tar.bz2 podman-988fd27541dfa852ee9543c2d8a916896ef0c774.zip |
Merge pull request #6746 from vrothberg/untag
podman untag: error if tag doesn't exist
Diffstat (limited to 'libpod')
-rw-r--r-- | libpod/define/errors.go | 3 | ||||
-rw-r--r-- | libpod/image/errors.go | 2 | ||||
-rw-r--r-- | libpod/image/image.go | 13 |
3 files changed, 16 insertions, 2 deletions
diff --git a/libpod/define/errors.go b/libpod/define/errors.go index e0c9811fe..98dc603d1 100644 --- a/libpod/define/errors.go +++ b/libpod/define/errors.go @@ -17,6 +17,9 @@ var ( // ErrNoSuchImage indicates the requested image does not exist ErrNoSuchImage = image.ErrNoSuchImage + // ErrNoSuchTag indicates the requested image tag does not exist + ErrNoSuchTag = image.ErrNoSuchTag + // ErrNoSuchVolume indicates the requested volume does not exist ErrNoSuchVolume = errors.New("no such volume") diff --git a/libpod/image/errors.go b/libpod/image/errors.go index 4088946cb..ddbf7be4b 100644 --- a/libpod/image/errors.go +++ b/libpod/image/errors.go @@ -12,4 +12,6 @@ var ( ErrNoSuchPod = errors.New("no such pod") // ErrNoSuchImage indicates the requested image does not exist ErrNoSuchImage = errors.New("no such image") + // ErrNoSuchTag indicates the requested image tag does not exist + ErrNoSuchTag = errors.New("no such tag") ) diff --git a/libpod/image/image.go b/libpod/image/image.go index d81f7e911..83e7467e9 100644 --- a/libpod/image/image.go +++ b/libpod/image/image.go @@ -559,15 +559,24 @@ func (i *Image) TagImage(tag string) error { return nil } -// UntagImage removes a tag from the given image +// UntagImage removes the specified tag from the image. +// If the tag does not exist, ErrNoSuchTag is returned. func (i *Image) UntagImage(tag string) error { if err := i.reloadImage(); err != nil { return err } + + // Normalize the tag as we do with TagImage. + ref, err := NormalizedTag(tag) + if err != nil { + return err + } + tag = ref.String() + var newTags []string tags := i.Names() if !util.StringInSlice(tag, tags) { - return nil + return errors.Wrapf(ErrNoSuchTag, "%q", tag) } for _, t := range tags { if tag != t { |