From 948860fbeef4691c446caf781fcd4f16cdc6cf87 Mon Sep 17 00:00:00 2001
From: Florian Heck <florian.heck@hotmail.de>
Date: Mon, 17 Oct 2016 11:16:37 +0200
Subject: [PATCH] fixed merge

---
 src/de/uni_passau/fim/seibt/gitwrapper/repo/Reference.java | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/de/uni_passau/fim/seibt/gitwrapper/repo/Reference.java b/src/de/uni_passau/fim/seibt/gitwrapper/repo/Reference.java
index 7f5932a..96d46cc 100644
--- a/src/de/uni_passau/fim/seibt/gitwrapper/repo/Reference.java
+++ b/src/de/uni_passau/fim/seibt/gitwrapper/repo/Reference.java
@@ -61,13 +61,16 @@ public abstract class Reference {
     }
 
     /**
-     * Performs a merge of <code>this</code> and <code>other</code>. <code>Other</code> must be part of the same
-     * {@link Repository} this {@link Reference} is.
+     * Performs a checkout followed by a merge of <code>this</code> and <code>other</code>. <code>Other</code> must be
+     * part of the same {@link Repository} this {@link Reference} is.
      *
      * @param other the {@link Reference} to merge
      * @return <code>false</code>, if the merge failed, or contains conflicts.
      */
     public Boolean merge(Reference other) {
+        if (!repo.checkout(this)) {
+            return false;
+        }
         Optional<ProcessExecutor.ExecRes> mergeBase = git.exec(repo.getDir(), "merge", "-n", "-q", other.getId());
         Function<ProcessExecutor.ExecRes, Boolean> toBoolean = res -> {
             if (git.failed(res)) {
-- 
GitLab