Further simplification

Docker-DCO-1.0-Signed-off-by: Danny Yates <danny@codeaholics.org> (github: codeaholics)
This commit is contained in:
Danny Yates 2013-12-09 17:01:32 +00:00 committed by Danny Yates
parent 6b48761ce9
commit df4ea946a6
1 changed files with 14 additions and 28 deletions

View File

@ -1159,7 +1159,7 @@ func (srv *Server) getImageList(localRepo map[string]string) ([]string, map[stri
// append to main image list
imageList = append(imageList, imageListForThisTag...)
}
}
utils.Debugf("Image list: %v", imageList)
utils.Debugf("Tags by image: %v", tagsByImage)
@ -1198,8 +1198,15 @@ func (srv *Server) pushRepository(r *registry.Registry, out io.Writer, localName
out.Write(sf.FormatStatus("", "Pushing repository %s (%d tags)", localName, len(localRepo)))
for _, imgId := range imgList {
var pushTags func() error
pushTags = func() error {
if r.LookupRemoteImage(imgId, ep, repoData.Tokens) {
out.Write(sf.FormatStatus("", "Image %s already pushed, skipping", utils.TruncateID(imgId)))
} else {
if _, err := srv.pushImage(r, out, remoteName, imgId, ep, repoData.Tokens, sf); err != nil {
// FIXME: Continue on error?
return err
}
}
for _, tag := range tagsByImage[imgId] {
out.Write(sf.FormatStatus("", "Pushing tag for rev [%s] on {%s}", utils.TruncateID(imgId), ep+"repositories/"+remoteName+"/tags/"+tag))
@ -1207,27 +1214,6 @@ func (srv *Server) pushRepository(r *registry.Registry, out io.Writer, localName
return err
}
}
return nil
}
if r.LookupRemoteImage(imgId, ep, repoData.Tokens) {
if err := pushTags(); err != nil {
return err
}
out.Write(sf.FormatStatus("", "Image %s already pushed, skipping", utils.TruncateID(imgId)))
continue
}
_, err := srv.pushImage(r, out, remoteName, imgId, ep, repoData.Tokens, sf)
if err != nil {
// FIXME: Continue on error?
return err
}
if err := pushTags(); err != nil {
return err
}
}
}