Move "image_tag" and "tag" to graph/tag.go
Note: these 2 jobs should be merged into one. This was noted in a FIXME. Signed-off-by: Solomon Hykes <solomon@docker.com> Upstream-commit: d7879379571e778b30973874df22fed3266cbb8f Component: engine
This commit is contained in:
committed by
Tibor Vass
parent
f301b073e0
commit
7b8c4dce89
@ -5,13 +5,13 @@ import (
|
||||
|
||||
"github.com/docker/docker/engine"
|
||||
"github.com/docker/docker/image"
|
||||
"github.com/docker/docker/pkg/parsers"
|
||||
"github.com/docker/docker/utils"
|
||||
)
|
||||
|
||||
func (s *TagStore) Install(eng *engine.Engine) error {
|
||||
eng.Register("image_set", s.CmdSet)
|
||||
eng.Register("image_tag", s.CmdTag)
|
||||
eng.Register("tag", s.CmdTagLegacy) // FIXME merge with "image_tag"
|
||||
eng.Register("image_get", s.CmdGet)
|
||||
eng.Register("image_inspect", s.CmdLookup)
|
||||
eng.Register("image_tarlayer", s.CmdTarLayer)
|
||||
@ -71,29 +71,6 @@ func (s *TagStore) CmdSet(job *engine.Job) engine.Status {
|
||||
return engine.StatusOK
|
||||
}
|
||||
|
||||
// CmdTag assigns a new name and tag to an existing image. If the tag already exists,
|
||||
// it is changed and the image previously referenced by the tag loses that reference.
|
||||
// This may cause the old image to be garbage-collected if its reference count reaches zero.
|
||||
//
|
||||
// Syntax: image_tag NEWNAME OLDNAME
|
||||
// Example: image_tag shykes/myapp:latest shykes/myapp:1.42.0
|
||||
func (s *TagStore) CmdTag(job *engine.Job) engine.Status {
|
||||
if len(job.Args) != 2 {
|
||||
return job.Errorf("usage: %s NEWNAME OLDNAME", job.Name)
|
||||
}
|
||||
var (
|
||||
newName = job.Args[0]
|
||||
oldName = job.Args[1]
|
||||
)
|
||||
newRepo, newTag := parsers.ParseRepositoryTag(newName)
|
||||
// FIXME: Set should either parse both old and new name, or neither.
|
||||
// the current prototype is inconsistent.
|
||||
if err := s.Set(newRepo, newTag, oldName, true); err != nil {
|
||||
return job.Error(err)
|
||||
}
|
||||
return engine.StatusOK
|
||||
}
|
||||
|
||||
// CmdGet returns information about an image.
|
||||
// If the image doesn't exist, an empty object is returned, to allow
|
||||
// checking for an image's existence.
|
||||
|
||||
44
components/engine/graph/tag.go
Normal file
44
components/engine/graph/tag.go
Normal file
@ -0,0 +1,44 @@
|
||||
package graph
|
||||
|
||||
import (
|
||||
"github.com/docker/docker/engine"
|
||||
"github.com/docker/docker/pkg/parsers"
|
||||
)
|
||||
|
||||
// CmdTag assigns a new name and tag to an existing image. If the tag already exists,
|
||||
// it is changed and the image previously referenced by the tag loses that reference.
|
||||
// This may cause the old image to be garbage-collected if its reference count reaches zero.
|
||||
//
|
||||
// Syntax: image_tag NEWNAME OLDNAME
|
||||
// Example: image_tag shykes/myapp:latest shykes/myapp:1.42.0
|
||||
func (s *TagStore) CmdTag(job *engine.Job) engine.Status {
|
||||
if len(job.Args) != 2 {
|
||||
return job.Errorf("usage: %s NEWNAME OLDNAME", job.Name)
|
||||
}
|
||||
var (
|
||||
newName = job.Args[0]
|
||||
oldName = job.Args[1]
|
||||
)
|
||||
newRepo, newTag := parsers.ParseRepositoryTag(newName)
|
||||
// FIXME: Set should either parse both old and new name, or neither.
|
||||
// the current prototype is inconsistent.
|
||||
if err := s.Set(newRepo, newTag, oldName, true); err != nil {
|
||||
return job.Error(err)
|
||||
}
|
||||
return engine.StatusOK
|
||||
}
|
||||
|
||||
// FIXME: merge into CmdTag above, and merge "image_tag" and "tag" into a single job.
|
||||
func (s *TagStore) CmdTagLegacy(job *engine.Job) engine.Status {
|
||||
if len(job.Args) != 2 && len(job.Args) != 3 {
|
||||
return job.Errorf("Usage: %s IMAGE REPOSITORY [TAG]\n", job.Name)
|
||||
}
|
||||
var tag string
|
||||
if len(job.Args) == 3 {
|
||||
tag = job.Args[2]
|
||||
}
|
||||
if err := s.Set(job.Args[1], tag, job.Args[0], job.GetenvBool("force")); err != nil {
|
||||
return job.Error(err)
|
||||
}
|
||||
return engine.StatusOK
|
||||
}
|
||||
Reference in New Issue
Block a user