summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-06-14 17:19:26 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-06-14 17:19:26 +0300
commit940c05086ee595fd5ea7f77a07b78bff14efb7e2 (patch)
tree3790249c7a3f5ae2a3d8e63004951117253a57b8
parente7c930a55b9832a767bfb1a5e2a8add8f9e719f9 (diff)
downloadgitlab-ce-940c05086ee595fd5ea7f77a07b78bff14efb7e2.tar.gz
Check for existing MR only for opened/reopened MR
-rw-r--r--app/models/merge_request.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index fdabb8753f8..f41473336bc 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -92,11 +92,13 @@ class MergeRequest < ActiveRecord::Base
errors.add :branch_conflict, "You can not use same branch for source and target branches"
end
- similar_mrs = self.project.merge_requests.where(source_branch: source_branch, target_branch: target_branch).opened
- similar_mrs = similar_mrs.where('id not in (?)', self.id) if self.id
+ if opened? || reopened?
+ similar_mrs = self.project.merge_requests.where(source_branch: source_branch, target_branch: target_branch).opened
+ similar_mrs = similar_mrs.where('id not in (?)', self.id) if self.id
- if similar_mrs.any?
- errors.add :base, "There is already an open merge request for this branches"
+ if similar_mrs.any?
+ errors.add :base, "There is already an open merge request for this branches"
+ end
end
end