types/model: fix name for hostport

This commit is contained in:
Michael Yang 2024-05-01 12:14:53 -07:00
parent a3e60d9058
commit 8867e744ff
2 changed files with 13 additions and 1 deletions

View file

@ -143,7 +143,11 @@ func ParseNameBare(s string) Name {
n.RawDigest = MissingPart
}
s, n.Tag, _ = cutPromised(s, ":")
// "/" is an illegal tag character, so we can use it to split the host
if strings.LastIndex(s, ":") > strings.LastIndex(s, "/") {
s, n.Tag, _ = cutPromised(s, ":")
}
s, n.Model, promised = cutPromised(s, "/")
if !promised {
n.Model = s

View file

@ -34,6 +34,14 @@ func TestParseNameParts(t *testing.T) {
Model: "model",
},
},
{
in: "host:12345/namespace/model",
want: Name{
Host: "host:12345",
Namespace: "namespace",
Model: "model",
},
},
{
in: "namespace/model",
want: Name{