diff options
author | Rémy Coutable <remy@rymai.me> | 2016-04-15 12:15:52 +0200 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2016-05-04 17:19:13 +0200 |
commit | 44f89eafc08a7967544429a3f930354a5f9bbbaf (patch) | |
tree | 7010adf8f188edcb8afd281a99970563b13d2980 /app/models | |
parent | 72e4bd5fc40c3b61792bf5f8897ab881775c7146 (diff) | |
download | gitlab-ce-44f89eafc08a7967544429a3f930354a5f9bbbaf.tar.gz |
Use Rugged's TagCollection#create instead of gitlab-shell's Repository#add_tag for better performance
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/repository.rb | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb index b4319297e43..c4e38980a83 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -146,10 +146,17 @@ class Repository find_branch(branch_name) end - def add_tag(tag_name, ref, message = nil) + def add_tag(user, tag_name, ref, message = nil) before_push_tag - gitlab_shell.add_tag(path_with_namespace, tag_name, ref, message) + 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) + end end def rm_branch(user, branch_name) |