From 940c05086ee595fd5ea7f77a07b78bff14efb7e2 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Fri, 14 Jun 2013 17:19:26 +0300 Subject: [PATCH] Check for existing MR only for opened/reopened MR --- app/models/merge_request.rb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index fdabb87..f414733 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 -- libgit2 0.21.2