mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-16 16:16:43 +10:00
Merge branch 'fix-branch-rm' into 'master'
Fix branch removal Fix exception on post-receive worker when remove branch See merge request !1122
This commit is contained in:
@@ -22,11 +22,8 @@ class GitPushService
|
||||
project.update_repository_size
|
||||
|
||||
if push_to_branch?(ref)
|
||||
if push_to_existing_branch?(ref, oldrev)
|
||||
# Collect data for this git push
|
||||
@push_commits = project.repository.commits_between(oldrev, newrev)
|
||||
project.update_merge_requests(oldrev, newrev, ref, @user)
|
||||
process_commit_messages(ref)
|
||||
if push_remove_branch?(ref, newrev)
|
||||
@push_commits = []
|
||||
elsif push_to_new_branch?(ref, oldrev)
|
||||
# Re-find the pushed commits.
|
||||
if is_default_branch?(ref)
|
||||
@@ -38,11 +35,12 @@ class GitPushService
|
||||
# that shouldn't matter because we check for existing cross-references later.
|
||||
@push_commits = project.repository.commits_between(project.default_branch, newrev)
|
||||
end
|
||||
|
||||
process_commit_messages(ref)
|
||||
|
||||
elsif push_remove_branch_branch?(ref, newrev)
|
||||
@push_commits = []
|
||||
elsif push_to_existing_branch?(ref, oldrev)
|
||||
# Collect data for this git push
|
||||
@push_commits = project.repository.commits_between(oldrev, newrev)
|
||||
project.update_merge_requests(oldrev, newrev, ref, @user)
|
||||
process_commit_messages(ref)
|
||||
end
|
||||
|
||||
@push_data = post_receive_data(oldrev, newrev, ref)
|
||||
|
||||
@@ -14,6 +14,32 @@ describe GitPushService do
|
||||
@ref = 'refs/heads/master'
|
||||
end
|
||||
|
||||
describe 'Push branches' do
|
||||
context 'new branch' do
|
||||
subject do
|
||||
service.execute(project, user, @blankrev, @newrev, @ref)
|
||||
end
|
||||
|
||||
it { should be_true }
|
||||
end
|
||||
|
||||
context 'existing branch' do
|
||||
subject do
|
||||
service.execute(project, user, @oldrev, @newrev, @ref)
|
||||
end
|
||||
|
||||
it { should be_true }
|
||||
end
|
||||
|
||||
context 'rm branch' do
|
||||
subject do
|
||||
service.execute(project, user, @oldrev, @blankrev, @ref)
|
||||
end
|
||||
|
||||
it { should be_true }
|
||||
end
|
||||
end
|
||||
|
||||
describe "Git Push Data" do
|
||||
before do
|
||||
service.execute(project, user, @oldrev, @newrev, @ref)
|
||||
|
||||
Reference in New Issue
Block a user