From 62a1850c16180ac83418e044e315ba8776f6a651 Mon Sep 17 00:00:00 2001 From: "Guillaume J. Charmes" Date: Mon, 6 May 2013 16:40:45 -0700 Subject: [PATCH] Make the autopull compatible with new registry --- builder.go | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/builder.go b/builder.go index e49f7d452..72989a8a0 100644 --- a/builder.go +++ b/builder.go @@ -200,21 +200,23 @@ func (builder *Builder) Build(dockerfile io.Reader, stdout io.Writer) (*Image, e image, err = builder.runtime.repositories.LookupImage(arguments) if err != nil { if builder.runtime.graph.IsNotExist(err) { - if builder.runtime.graph.LookupRemoteImage(arguments, builder.runtime.authConfig) { - if err := builder.runtime.graph.PullImage(stdout, arguments, builder.runtime.authConfig); err != nil { - return nil, err - } - } else { - // FIXME: Allow pull repo:tag - if err := builder.runtime.graph.PullRepository(stdout, arguments, "", builder.runtime.repositories, builder.runtime.authConfig); err != nil { - return nil, err - } + + var tag, remote string + if strings.Contains(remote, ":") { + remoteParts := strings.Split(remote, ":") + tag = remoteParts[1] + remote = remoteParts[0] + } + + if err := builder.runtime.graph.PullRepository(stdout, remote, tag, builder.runtime.repositories, builder.runtime.authConfig); err != nil { + return nil, err } image, err = builder.runtime.repositories.LookupImage(arguments) if err != nil { return nil, err } + } else { return nil, err }