From 245ca4659e09e9745f3cc1217bf56e946509220c Mon Sep 17 00:00:00 2001 From: Aaron Lehmann Date: Thu, 26 Jan 2017 11:46:00 -0800 Subject: [PATCH] reference: Replace EnsureTagged with TagNameOnly The common use case for this function is to add a default tag if the reference only has a name. The current behavior only adds the default tag if there is no *tag*, which requires most callers to check for a digest. Change the behavior to only add default tags to name-only references, and change the name to reflect this. The documentation already described the new behavior, so it does not need to be changed. Signed-off-by: Aaron Lehmann --- reference/normalize.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/reference/normalize.go b/reference/normalize.go index 67f48aa8..2d71fc5e 100644 --- a/reference/normalize.go +++ b/reference/normalize.go @@ -123,11 +123,10 @@ func (c canonicalReference) Familiar() Named { } } -// EnsureTagged adds the default tag "latest" to a reference if it only has +// TagNameOnly adds the default tag "latest" to a reference if it only has // a repo name. -func EnsureTagged(ref Named) NamedTagged { - namedTagged, ok := ref.(NamedTagged) - if !ok { +func TagNameOnly(ref Named) Named { + if IsNameOnly(ref) { namedTagged, err := WithTag(ref, defaultTag) if err != nil { // Default tag must be valid, to create a NamedTagged @@ -137,7 +136,7 @@ func EnsureTagged(ref Named) NamedTagged { } return namedTagged } - return namedTagged + return ref } // ParseAnyReference parses a reference string as a possible identifier,