summaryrefslogtreecommitdiff
path: root/app/models/merge_request.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r--app/models/merge_request.rb13
1 files changed, 11 insertions, 2 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 505f6637d77..8d3780532f3 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -152,7 +152,17 @@ class MergeRequest < ActiveRecord::Base
end
def commits
- st_commits || []
+ if st_commits.present?
+ # check if merge request commits are valid
+ if st_commits.first.respond_to?(:short_id)
+ st_commits
+ else
+ # if commits are invalid - simply reload it from repo
+ reloaded_commits
+ end
+ else
+ []
+ end
end
def probably_merged?
@@ -171,7 +181,6 @@ class MergeRequest < ActiveRecord::Base
def unmerged_commits
self.project.repository.
commits_between(self.target_branch, self.source_branch).
- map {|c| Commit.new(c)}.
sort_by(&:created_at).
reverse
end