Update language only on HEAD of the repository
This commit is contained in:
parent
b8d1545bf1
commit
aad3b6ddf8
|
@ -55,6 +55,9 @@ class GitPushService < BaseService
|
|||
end
|
||||
|
||||
def update_main_language
|
||||
return unless is_default_branch?
|
||||
return unless push_to_new_branch? || push_to_existing_branch?
|
||||
|
||||
current_language = @project.repository.main_language
|
||||
|
||||
unless current_language == @project.main_language
|
||||
|
|
|
@ -159,18 +159,28 @@ describe GitPushService, services: true do
|
|||
end
|
||||
|
||||
describe "Updates main language" do
|
||||
|
||||
context "before push" do
|
||||
it { expect(project.main_language).to eq(nil) }
|
||||
end
|
||||
|
||||
context "after push" do
|
||||
before do
|
||||
@service = execute_service(project, user, @oldrev, @newrev, @ref)
|
||||
@service = execute_service(project, user, @oldrev, @newrev, ref)
|
||||
end
|
||||
|
||||
it { expect(@service.update_main_language).to eq(true) }
|
||||
it { expect(project.main_language).to eq("Ruby") }
|
||||
context "to master" do
|
||||
let(:ref) { @ref }
|
||||
|
||||
it { expect(@service.update_main_language).to eq(true) }
|
||||
it { expect(project.main_language).to eq("Ruby") }
|
||||
end
|
||||
|
||||
context "to other branch" do
|
||||
let(:ref) { 'refs/heads/feature/branch' }
|
||||
|
||||
it { expect(@service.update_main_language).to eq(nil) }
|
||||
it { expect(project.main_language).to eq(nil) }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue