From 9a1ad8deec9cf1c3d35c85f599c041f581a7b782 Mon Sep 17 00:00:00 2001
From: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Date: Tue, 11 Aug 2015 10:48:02 +0200
Subject: [PATCH] Revert "Merge branch 'refactor-can-be-merge' into 'master'"

This reverts commit 459e6d346768d9d8fceaee00bf0870b8e7c4ed9a, reversing
changes made to 804168e1def1204af712febb229f41a3865f085f.

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
---
 app/models/merge_request.rb    |  8 +++++++-
 app/models/repository.rb       |  9 ---------
 spec/models/repository_spec.rb | 14 --------------
 3 files changed, 7 insertions(+), 24 deletions(-)

diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 1ef76d16700..5a48fe66281 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -209,7 +209,13 @@ class MergeRequest < ActiveRecord::Base
       if for_fork?
         Gitlab::Satellite::MergeAction.new(self.author, self).can_be_merged?
       else
-        project.repository.can_be_merged?(source_branch, target_branch)
+        rugged = project.repository.rugged
+        our_commit = rugged.branches[target_branch].target
+        their_commit = rugged.branches[source_branch].target
+
+        if our_commit && their_commit
+          !rugged.merge_commits(our_commit, their_commit).conflicts?
+        end
       end
 
     if can_be_merged
diff --git a/app/models/repository.rb b/app/models/repository.rb
index 277a9178592..dae19b9ddca 100644
--- a/app/models/repository.rb
+++ b/app/models/repository.rb
@@ -411,15 +411,6 @@ class Repository
     }
   end
 
-  def can_be_merged?(source_branch, target_branch)
-    our_commit = rugged.branches[target_branch].target
-    their_commit = rugged.branches[source_branch].target
-
-    if our_commit && their_commit
-      !rugged.merge_commits(our_commit, their_commit).conflicts?
-    end
-  end
-
   def search_files(query, ref)
     offset = 2
     args = %W(git grep -i -n --before-context #{offset} --after-context #{offset} #{query} #{ref || root_ref})
diff --git a/spec/models/repository_spec.rb b/spec/models/repository_spec.rb
index d25351b0f0e..0927cde61a6 100644
--- a/spec/models/repository_spec.rb
+++ b/spec/models/repository_spec.rb
@@ -34,20 +34,6 @@ describe Repository do
     end
   end
 
-  describe :can_be_merged? do
-    context 'mergeable branches' do
-      subject { repository.can_be_merged?('feature', 'master') }
-
-      it { is_expected.to be_truthy }
-    end
-
-    context 'non-mergeable branches' do
-      subject { repository.can_be_merged?('feature_conflict', 'feature') }
-
-      it { is_expected.to be_falsey }
-    end
-  end
-
   describe "search_files" do
     let(:results) { repository.search_files('feature', 'master') }
     subject { results }
-- 
GitLab