From a59fe739fe05bcdf0eed06f1aea276a1236c32d2 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Fri, 14 Jun 2013 15:17:47 +0300 Subject: [PATCH] IMprove MR validation logic --- app/models/merge_request.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index 13f55a8..fdabb87 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -92,7 +92,10 @@ class MergeRequest < ActiveRecord::Base errors.add :branch_conflict, "You can not use same branch for source and target branches" end - if self.project.merge_requests.where(source_branch: source_branch, target_branch: target_branch).opened.any? + 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" end end -- libgit2 0.21.2