Commit 9e397aac authored by Ruben Davila's avatar Ruben Davila

Apply fix from @jacobvosmaer-gitlab.

See broken build here: https://gitlab.com/gitlab-org/gitlab-ee/builds/3763020
parent 63666b06
...@@ -1247,7 +1247,11 @@ class Repository ...@@ -1247,7 +1247,11 @@ class Repository
raise CommitError.new('Failed to create commit') raise CommitError.new('Failed to create commit')
end end
oldrev = rugged.lookup(newrev).parent_ids.first || Gitlab::Git::BLANK_SHA if rugged.lookup(newrev).parent_ids.empty? || target_branch.nil?
oldrev = Gitlab::Git::BLANK_SHA
else
oldrev = rugged.merge_base(newrev, target_branch.target.sha)
end
GitHooksService.new.execute(current_user, path_to_repo, oldrev, newrev, ref) do GitHooksService.new.execute(current_user, path_to_repo, oldrev, newrev, ref) do
update_ref!(ref, newrev, oldrev) update_ref!(ref, newrev, oldrev)
......
...@@ -750,32 +750,10 @@ describe Repository, models: true do ...@@ -750,32 +750,10 @@ describe Repository, models: true do
end end
describe '#ff_merge' do describe '#ff_merge' do
it 'merges the code and return the commit id' do before { repository.add_branch(user, 'ff-target', 'feature~5') }
merge_request = create(:merge_request, source_branch: 'feature', target_branch: 'master', source_project: project)
merge_commit_id = repository.ff_merge(user,
merge_request.diff_head_sha,
merge_request.target_branch,
merge_request: merge_request)
merge_commit = repository.commit(merge_commit_id)
expect(merge_commit).to be_present
expect(repository.blob_at(merge_commit.id, 'files/ruby/feature.rb')).to be_present
end
it 'sets the `in_progress_merge_commit_sha` flag for the given merge request' do
merge_request = create(:merge_request, source_branch: 'feature', target_branch: 'master', source_project: project)
merge_commit_id = repository.ff_merge(user,
merge_request.diff_head_sha,
merge_request.target_branch,
merge_request: merge_request)
expect(merge_request.in_progress_merge_commit_sha).to eq(merge_commit_id)
end
end
describe '#ff_merge' do
it 'merges the code and return the commit id' do it 'merges the code and return the commit id' do
merge_request = create(:merge_request, source_branch: 'feature', target_branch: 'master', source_project: project) merge_request = create(:merge_request, source_branch: 'feature', target_branch: 'ff-target', source_project: project)
merge_commit_id = repository.ff_merge(user, merge_commit_id = repository.ff_merge(user,
merge_request.diff_head_sha, merge_request.diff_head_sha,
merge_request.target_branch, merge_request.target_branch,
...@@ -787,7 +765,7 @@ describe Repository, models: true do ...@@ -787,7 +765,7 @@ describe Repository, models: true do
end end
it 'sets the `in_progress_merge_commit_sha` flag for the given merge request' do it 'sets the `in_progress_merge_commit_sha` flag for the given merge request' do
merge_request = create(:merge_request, source_branch: 'feature', target_branch: 'master', source_project: project) merge_request = create(:merge_request, source_branch: 'feature', target_branch: 'ff-target', source_project: project)
merge_commit_id = repository.ff_merge(user, merge_commit_id = repository.ff_merge(user,
merge_request.diff_head_sha, merge_request.diff_head_sha,
merge_request.target_branch, merge_request.target_branch,
......
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