summaryrefslogtreecommitdiff
path: root/libpod/image/image.go
diff options
context:
space:
mode:
authorSascha Grunert <sgrunert@suse.com>2019-11-26 16:08:04 +0100
committerSascha Grunert <sgrunert@suse.com>2019-11-27 13:42:06 +0100
commit63e46cc85cb0a9523e9c48db7a88039e0baeac29 (patch)
tree4d3720c8cc7b6d8058302a6682e4597530b52ef1 /libpod/image/image.go
parentaef38585ed313d1096c1fa4f6281f36e5e47422b (diff)
downloadpodman-63e46cc85cb0a9523e9c48db7a88039e0baeac29.tar.gz
podman-63e46cc85cb0a9523e9c48db7a88039e0baeac29.tar.bz2
podman-63e46cc85cb0a9523e9c48db7a88039e0baeac29.zip
Add support for image name history
We leverage the containers/storage image history tracking feature to show the previously used image names when running: `podman images --history` Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Diffstat (limited to 'libpod/image/image.go')
-rw-r--r--libpod/image/image.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/libpod/image/image.go b/libpod/image/image.go
index fa75be44d..129ccd376 100644
--- a/libpod/image/image.go
+++ b/libpod/image/image.go
@@ -335,6 +335,21 @@ func (i *Image) Names() []string {
return i.image.Names
}
+// NamesHistory returns a string array of names previously associated with the
+// image, which may be a mixture of tags and digests
+func (i *Image) NamesHistory() []string {
+ if len(i.image.Names) > 0 && len(i.image.NamesHistory) > 0 &&
+ // We compare the latest (time-referenced) tags for equality and skip
+ // it in the history if they match to not display them twice. We have
+ // to compare like this, because `i.image.Names` (latest last) gets
+ // appended on retag, whereas `i.image.NamesHistory` gets prepended
+ // (latest first)
+ i.image.Names[len(i.image.Names)-1] == i.image.NamesHistory[0] {
+ return i.image.NamesHistory[1:]
+ }
+ return i.image.NamesHistory
+}
+
// RepoTags returns a string array of repotags associated with the image
func (i *Image) RepoTags() ([]string, error) {
var repoTags []string