diff options
author | Rémy Coutable <remy@rymai.me> | 2016-04-25 16:31:45 +0200 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-05-04 17:19:13 +0200 |
commit | 209f2f1e6fd861dd7bb6a73389400b4bb266d26d (patch) | |
tree | 6b945d01503fd1b52a7d8b73fe162f69144d257f /app/models/repository.rb | |
parent | 44f89eafc08a7967544429a3f930354a5f9bbbaf (diff) | |
download | gitlab-ce-209f2f1e6fd861dd7bb6a73389400b4bb266d26d.tar.gz |
Use a similar approach to branch creation for tag creationuse-rugged-to-create-tag
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'app/models/repository.rb')
-rw-r--r-- | app/models/repository.rb | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index c4e38980a83..d5d70f41fd3 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -146,17 +146,20 @@ class Repository find_branch(branch_name) end - def add_tag(user, tag_name, ref, message = nil) - before_push_tag + def add_tag(user, tag_name, target, message = nil) + oldrev = Gitlab::Git::BLANK_SHA + ref = Gitlab::Git::TAG_REF_PREFIX + tag_name + target = commit(target).try(:id) + + return false unless target options = { message: message, tagger: user_to_committer(user) } if message - tag = rugged.tags.create(tag_name, ref, options) - if tag.annotated? - Gitlab::Git::Tag.new(tag_name, ref, tag.annotation.message) - else - Gitlab::Git::Tag.new(tag_name, ref) + GitHooksService.new.execute(user, path_to_repo, oldrev, target, ref) do + rugged.tags.create(tag_name, target, options) end + + find_tag(tag_name) end def rm_branch(user, branch_name) |