Add merged label on branches page
This commit is contained in:
parent
cb6ad67f52
commit
8adf6ba8f5
|
@ -55,6 +55,7 @@ v 7.14.0 (unreleased)
|
||||||
- Fix bug causing error when the target branch of a symbolic ref was deleted
|
- Fix bug causing error when the target branch of a symbolic ref was deleted
|
||||||
- Include branch/tag name in archive file and directory name
|
- Include branch/tag name in archive file and directory name
|
||||||
- Add dropzone upload progress
|
- Add dropzone upload progress
|
||||||
|
- Add a label for merged branches on branches page (Florent Baldino)
|
||||||
|
|
||||||
v 7.13.3
|
v 7.13.3
|
||||||
- Fix bug causing Bitbucket importer to crash when OAuth application had been removed.
|
- Fix bug causing Bitbucket importer to crash when OAuth application had been removed.
|
||||||
|
|
|
@ -364,6 +364,17 @@ class Repository
|
||||||
@root_ref ||= raw_repository.root_ref
|
@root_ref ||= raw_repository.root_ref
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def merged_to_root_ref?(branch_name)
|
||||||
|
branch_commit = commit(branch_name)
|
||||||
|
root_ref_commit = commit(root_ref)
|
||||||
|
|
||||||
|
if branch_commit
|
||||||
|
rugged.merge_base(root_ref_commit.id, branch_commit.id) == branch_commit.id
|
||||||
|
else
|
||||||
|
nil
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def search_files(query, ref)
|
def search_files(query, ref)
|
||||||
offset = 2
|
offset = 2
|
||||||
args = %W(git grep -i -n --before-context #{offset} --after-context #{offset} #{query} #{ref || root_ref})
|
args = %W(git grep -i -n --before-context #{offset} --after-context #{offset} #{query} #{ref || root_ref})
|
||||||
|
|
|
@ -5,6 +5,11 @@
|
||||||
%strong.str-truncated= branch.name
|
%strong.str-truncated= branch.name
|
||||||
- if branch.name == @repository.root_ref
|
- if branch.name == @repository.root_ref
|
||||||
%span.label.label-info default
|
%span.label.label-info default
|
||||||
|
- elsif @repository.merged_to_root_ref? branch.name
|
||||||
|
%span.label.label-primary.has_tooltip(title="Merged into #{@repository.root_ref}")
|
||||||
|
%i.fa.fa-check
|
||||||
|
merged
|
||||||
|
|
||||||
- if @project.protected_branch? branch.name
|
- if @project.protected_branch? branch.name
|
||||||
%span.label.label-success
|
%span.label.label-success
|
||||||
%i.fa.fa-lock
|
%i.fa.fa-lock
|
||||||
|
|
|
@ -34,6 +34,26 @@ describe Repository do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe :merged_to_root_ref? do
|
||||||
|
context 'merged branch' do
|
||||||
|
subject { repository.merged_to_root_ref?('improve/awesome') }
|
||||||
|
|
||||||
|
it { is_expected.to be_truthy }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'non merged branch' do
|
||||||
|
subject { repository.merged_to_root_ref?('fix') }
|
||||||
|
|
||||||
|
it { is_expected.to be_falsey }
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'non existent branch' do
|
||||||
|
subject { repository.merged_to_root_ref?('non_existent_branch') }
|
||||||
|
|
||||||
|
it { is_expected.to be_nil }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
describe "search_files" do
|
describe "search_files" do
|
||||||
let(:results) { repository.search_files('feature', 'master') }
|
let(:results) { repository.search_files('feature', 'master') }
|
||||||
subject { results }
|
subject { results }
|
||||||
|
|
Loading…
Reference in New Issue