diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index edf073d4e886f0d9a0cf109cc7e9cf6b80c20bbf..3a7f11ff6ae02717e3d99c76cbfe86f95e5b90a7 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -72,9 +72,12 @@ class MergeRequest < ActiveRecord::Base diffs end + def merge_base + project.repo.git.native(:merge_base, {}, [target_branch, source_branch]).strip + end + def unmerged_diffs - commits = project.repo.commits_between(target_branch, source_branch).map {|c| Commit.new(c)} - diffs = project.repo.diff(commits.first.prev_commit.id, commits.last.id) rescue [] + project.repo.diff(merge_base, source_branch) end def last_commit