From 6047debf8540dd878041c8f68e70eeaf6a6e07f5 Mon Sep 17 00:00:00 2001 From: Lei Jitang Date: Tue, 30 Sep 2014 16:57:17 +0800 Subject: [PATCH] Fix the bug of tag a existed tag name of a repository. Signed-off-by: Lei Jitang Upstream-commit: 5e6f16e34264fa81205c8becbdcd401823261056 Component: engine --- components/engine/builder/job.go | 2 +- components/engine/graph/tags.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/components/engine/builder/job.go b/components/engine/builder/job.go index 555232c9ae..ae501acb5d 100644 --- a/components/engine/builder/job.go +++ b/components/engine/builder/job.go @@ -124,7 +124,7 @@ func (b *BuilderJob) CmdBuild(job *engine.Job) engine.Status { } if repoName != "" { - b.Daemon.Repositories().Set(repoName, tag, id, false) + b.Daemon.Repositories().Set(repoName, tag, id, true) } return engine.StatusOK } diff --git a/components/engine/graph/tags.go b/components/engine/graph/tags.go index 31c65ced5c..6e4e63148a 100644 --- a/components/engine/graph/tags.go +++ b/components/engine/graph/tags.go @@ -218,11 +218,11 @@ func (store *TagStore) Set(repoName, tag, imageName string, force bool) error { var repo Repository if r, exists := store.Repositories[repoName]; exists { repo = r + if old, exists := store.Repositories[repoName][tag]; exists && !force { + return fmt.Errorf("Conflict: Tag %s is already set to image %s, if you want to replace it, please use -f option", tag, old) + } } else { repo = make(map[string]string) - if old, exists := store.Repositories[repoName]; exists && !force { - return fmt.Errorf("Conflict: Tag %s:%s is already set to %s", repoName, tag, old) - } store.Repositories[repoName] = repo } repo[tag] = img.ID