Merge branch 'reorder-language' into 'master'
Update language after doing all other operations See merge request !3533
This commit is contained in:
commit
e1bc16cbdf
2 changed files with 21 additions and 7 deletions
|
@ -43,17 +43,21 @@ class GitPushService < BaseService
|
|||
@push_commits = @project.repository.commits_between(params[:oldrev], params[:newrev])
|
||||
process_commit_messages
|
||||
end
|
||||
# Checks if the main language has changed in the project and if so
|
||||
# it updates it accordingly
|
||||
update_main_language
|
||||
# Update merge requests that may be affected by this push. A new branch
|
||||
# could cause the last commit of a merge request to change.
|
||||
update_merge_requests
|
||||
|
||||
# Checks if the main language has changed in the project and if so
|
||||
# it updates it accordingly
|
||||
update_main_language
|
||||
|
||||
perform_housekeeping
|
||||
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 a new issue