Commit 41b8d226 authored by Yorick Peterse's avatar Yorick Peterse

Tweaked performance of Issue#related_branches

Requesting the branch names of a repository works even when it's empty,
thus there's no need to explicitly check for an empty repository.
Removing this check cuts down the amount of Git operations which in turn
cuts down request timings a bit. The regular expression used to compare
branches was also moved out of the loop so it's created only once.
parent 3f22a92f
...@@ -105,9 +105,9 @@ class Issue < ActiveRecord::Base ...@@ -105,9 +105,9 @@ class Issue < ActiveRecord::Base
end end
def related_branches def related_branches
return [] if self.project.empty_repo? project.repository.branch_names.select do |branch|
branch.end_with?("-#{iid}")
self.project.repository.branch_names.select { |branch| branch.end_with?("-#{iid}") } end
end end
# Reset issue events cache # Reset issue events cache
......
...@@ -133,9 +133,9 @@ describe Issue, models: true do ...@@ -133,9 +133,9 @@ describe Issue, models: true do
describe '#related_branches' do describe '#related_branches' do
it "selects the right branches" do it "selects the right branches" do
allow(subject.project.repository).to receive(:branch_names). allow(subject.project.repository).to receive(:branch_names).
and_return(["mpempe", "#{subject.iid}mepmep", subject.to_branch_name]) and_return(["mpempe", "#{subject.iid}mepmep", subject.to_branch_name])
expect(subject.related_branches).to eq [subject.to_branch_name] expect(subject.related_branches).to eq([subject.to_branch_name])
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment