diff options
author | Sascha Grunert <sgrunert@suse.com> | 2019-11-26 16:08:04 +0100 |
---|---|---|
committer | Sascha Grunert <sgrunert@suse.com> | 2019-11-27 13:42:06 +0100 |
commit | 63e46cc85cb0a9523e9c48db7a88039e0baeac29 (patch) | |
tree | 4d3720c8cc7b6d8058302a6682e4597530b52ef1 /libpod | |
parent | aef38585ed313d1096c1fa4f6281f36e5e47422b (diff) | |
download | podman-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')
-rw-r--r-- | libpod/image/image.go | 15 |
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 |