summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Niedzielski <adamsunday@gmail.com>2016-11-28 13:00:42 +0100
committerAdam Niedzielski <adamsunday@gmail.com>2016-11-28 13:00:42 +0100
commit9e6cdc64741583ed0db74485892c1970ff960eab (patch)
tree8c396b1d47d167607df2035e7c465a935affa3a4
parent6ea0b8d56322108788727a2f4ad27843013d43f1 (diff)
downloadgitlab-ce-9e6cdc64741583ed0db74485892c1970ff960eab.tar.gz
Revert "Pass correct tag target to post-receive hook when creating tag via UI"
This reverts commit ae51774bc45d2e15ccc61b01a30d1b588f179f85.
-rw-r--r--app/models/repository.rb13
-rw-r--r--spec/models/repository_spec.rb22
2 files changed, 3 insertions, 32 deletions
diff --git a/app/models/repository.rb b/app/models/repository.rb
index bf136ccdb6c..5e831f84879 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -196,18 +196,11 @@ class Repository
options = { message: message, tagger: user_to_committer(user) } if message
- rugged.tags.create(tag_name, target, options)
- tag = find_tag(tag_name)
-
- GitHooksService.new.execute(user, path_to_repo, oldrev, tag.target, ref) do
- # we already created a tag, because we need tag SHA to pass correct
- # values to hooks
+ GitHooksService.new.execute(user, path_to_repo, oldrev, target, ref) do
+ rugged.tags.create(tag_name, target, options)
end
- tag
- rescue GitHooksService::PreReceiveError
- rugged.tags.delete(tag_name)
- raise
+ find_tag(tag_name)
end
def rm_branch(user, branch_name)
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index 04afb8ebc98..214bf478d19 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -1303,28 +1303,6 @@ describe Repository, models: true do
repository.add_tag(user, '8.5', 'master', 'foo')
end
- it 'does not create a tag when a pre-hook fails' do
- allow_any_instance_of(Gitlab::Git::Hook).to receive(:trigger).and_return([false, ''])
-
- expect do
- repository.add_tag(user, '8.5', 'master', 'foo')
- end.to raise_error(GitHooksService::PreReceiveError)
-
- repository.expire_tags_cache
- expect(repository.find_tag('8.5')).to be_nil
- end
-
- it 'passes tag SHA to hooks' do
- spy = GitHooksService.new
- allow(GitHooksService).to receive(:new).and_return(spy)
- allow(spy).to receive(:execute).and_call_original
-
- tag = repository.add_tag(user, '8.5', 'master', 'foo')
-
- expect(spy).to have_received(:execute).
- with(anything, anything, anything, tag.target, anything)
- end
-
it 'returns a Gitlab::Git::Tag object' do
tag = repository.add_tag(user, '8.5', 'master', 'foo')