diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-06-14 17:19:26 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-06-14 17:19:26 +0300 |
commit | 940c05086ee595fd5ea7f77a07b78bff14efb7e2 (patch) | |
tree | 3790249c7a3f5ae2a3d8e63004951117253a57b8 | |
parent | e7c930a55b9832a767bfb1a5e2a8add8f9e719f9 (diff) | |
download | gitlab-ce-940c05086ee595fd5ea7f77a07b78bff14efb7e2.tar.gz |
Check for existing MR only for opened/reopened MR
-rw-r--r-- | app/models/merge_request.rb | 10 |
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 |