diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-10-20 14:23:56 +0200 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-10-20 14:24:02 +0200 |
commit | 8710739e4e5d12ac9e2aa88a553cc1e02dc2b2d1 (patch) | |
tree | 0a632f67e2f9db6a0efcec32a86192e34b83385b /app/models/merge_request.rb | |
parent | 904c11ef912145e81f46133927f28c88971162ba (diff) | |
download | gitlab-ce-merge-request-deleted-file.tar.gz |
Correctly find last known blob for file deleted in MR.merge-request-deleted-file
Diffstat (limited to 'app/models/merge_request.rb')
-rw-r--r-- | app/models/merge_request.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 0042b95c4f1..21861a46a84 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -40,7 +40,7 @@ class MergeRequest < ActiveRecord::Base after_create :create_merge_request_diff after_update :update_merge_request_diff - delegate :commits, :diffs, :last_commit, :last_commit_short_sha, to: :merge_request_diff, prefix: nil + delegate :commits, :diffs, to: :merge_request_diff, prefix: nil # When this attribute is true some MR validation is ignored # It allows us to close or modify broken merge requests @@ -157,6 +157,18 @@ class MergeRequest < ActiveRecord::Base reference end + def last_commit + merge_request_diff ? merge_request_diff.last_commit : compare_commits.last + end + + def first_commit + merge_request_diff ? merge_request_diff.first_commit : compare_commits.first + end + + def last_commit_short_sha + last_commit.short_id + end + def validate_branches if target_project == source_project && target_branch == source_branch errors.add :branch_conflict, "You can not use same project/branch for source and target" |