summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatija Čupić <matteeyah@gmail.com>2018-11-16 21:03:21 +0100
committerMatija Čupić <matteeyah@gmail.com>2018-12-08 19:28:55 +0100
commit96a0a8cfb62d9ea66ee2a22e09a116d64f333703 (patch)
tree411be34a39be9126682f1fbf18ad0f93cde4e7b2
parent35b3392ef7511521653a984a9d9c6dbaf4e6dccb (diff)
downloadgitlab-ce-96a0a8cfb62d9ea66ee2a22e09a116d64f333703.tar.gz
Use strings instead of Gitlab::Git::Ref
-rw-r--r--app/models/project.rb17
-rw-r--r--spec/models/project_spec.rb38
2 files changed, 19 insertions, 36 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index 22ce916a36c..e9fa9cfabc9 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -1167,11 +1167,11 @@ class Project < ActiveRecord::Base
if tag_exists && branch_exists
nil
elsif tag_exists
- repository.find_tag(ref)
+ Gitlab::Git::TAG_REF_PREFIX + ref
elsif branch_exists
- repository.find_branch(ref)
+ Gitlab::Git::BRANCH_REF_PREFIX + ref
else
- repository.find_ref(ref)
+ ref
end
end
@@ -1755,11 +1755,12 @@ class Project < ActiveRecord::Base
resolved_ref = resolve_ref(ref)
return false unless resolved_ref
- case resolved_ref
- when Gitlab::Git::Branch
- ProtectedBranch.protected?(self, resolved_ref.name)
- when Gitlab::Git::Tag
- ProtectedTag.protected?(self, resolved_ref.name)
+ ref_name = Gitlab::Git.ref_name(resolved_ref)
+
+ if Gitlab::Git.branch_ref?(resolved_ref)
+ ProtectedBranch.protected?(self, ref_name)
+ elsif Gitlab::Git.tag_ref?(resolved_ref)
+ ProtectedTag.protected?(self, ref_name)
end
end
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 204d611796b..cbc242308e8 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -2580,7 +2580,7 @@ describe Project do
end
context 'when the ref is not protected' do
- let(:ref) { project.repository.find_branch('master') }
+ let(:ref) { 'refs/heads/master' }
before do
stub_application_setting(
@@ -2593,7 +2593,7 @@ describe Project do
end
context 'when the ref is a protected branch' do
- let(:ref) { project.repository.find_branch('master') }
+ let(:ref) { 'refs/heads/master' }
before do
create(:protected_branch, name: 'master', project: project)
@@ -2605,7 +2605,7 @@ describe Project do
end
context 'when the ref is a protected tag' do
- let(:ref) { project.repository.find_tag('v1.0.0') }
+ let(:ref) { 'refs/tags/v1.0.0' }
before do
create(:protected_tag, name: 'v1.0.0', project: project)
@@ -2802,20 +2802,10 @@ describe Project do
subject { project.resolve_ref(ref) }
context 'when ref is full ref' do
- context 'when ref exists' do
- let(:ref) { 'refs/heads/master' }
+ let(:ref) { 'refs/heads/master' }
- it 'returns a ref' do
- is_expected.to be_a(Gitlab::Git::Ref)
- end
- end
-
- context 'when ref does not exist' do
- let(:ref) { 'refs/tags/doesnotexist' }
-
- it 'returns nil' do
- is_expected.to eq(nil)
- end
+ it 'returns the ref' do
+ is_expected.to eq(ref)
end
end
@@ -2838,12 +2828,8 @@ describe Project do
project.repository.add_tag(project.creator, ref, 'master')
end
- it 'returns a tag' do
- is_expected.to be_a(Gitlab::Git::Tag)
- end
-
- it 'returns the correct tag' do
- expect(subject.name).to eq(ref)
+ it 'returns the tag ref' do
+ is_expected.to eq("refs/tags/#{ref}")
end
end
@@ -2852,12 +2838,8 @@ describe Project do
project.repository.add_branch(project.creator, ref, 'master')
end
- it 'returns a branch' do
- is_expected.to be_a(Gitlab::Git::Branch)
- end
-
- it 'returns the correct branch' do
- expect(subject.name).to eq(ref)
+ it 'returns the branch ref' do
+ is_expected.to eq("refs/heads/#{ref}")
end
end
end