From de09097203de3c92406bf364517283c263f02502 Mon Sep 17 00:00:00 2001 From: Eduard Heimbuch Date: Thu, 7 Nov 2019 08:14:15 +0100 Subject: [PATCH] cleanup --- .../sonia/scm/repository/api/MergeCommandBuilder.java | 7 ++++++- .../java/sonia/scm/repository/spi/GitMergeCommand.java | 10 +++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/scm-core/src/main/java/sonia/scm/repository/api/MergeCommandBuilder.java b/scm-core/src/main/java/sonia/scm/repository/api/MergeCommandBuilder.java index 267dfa9862..db6c677e1f 100644 --- a/scm-core/src/main/java/sonia/scm/repository/api/MergeCommandBuilder.java +++ b/scm-core/src/main/java/sonia/scm/repository/api/MergeCommandBuilder.java @@ -58,7 +58,7 @@ public class MergeCommandBuilder { } /** - * Use this to check if merge-strategy is supported by mergeCommand + * Use this to check if merge-strategy is supported by mergeCommand. * * @return boolean. */ @@ -66,6 +66,11 @@ public class MergeCommandBuilder { return mergeCommand.isSupported(strategy); } + /** + * Use this to get a Set of all supported merge strategies by merge command. + * + * @return boolean. + */ public Set getSupportedMergeStrategies() { return mergeCommand.getSupportedMergeStrategies(); } diff --git a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeCommand.java b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeCommand.java index 6d5c33f874..1ef4eacce3 100644 --- a/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeCommand.java +++ b/scm-plugins/scm-git-plugin/src/main/java/sonia/scm/repository/spi/GitMergeCommand.java @@ -95,12 +95,12 @@ public class GitMergeCommand extends AbstractGitCommand implements MergeCommand MergeResult result = doMergeInClone(); if (result.getMergeStatus().isSuccessful()) { - if (mergeStrategy != MergeStrategy.FAST_FORWARD_IF_POSSIBLE) { + if (!isFastForward()) { doCommit(); } push(); return MergeCommandResult.success(); - } else if (mergeStrategy == MergeStrategy.FAST_FORWARD_IF_POSSIBLE) { + } else if (isFastForward()) { MergeCommandResult failure = MergeCommandResult.failure(Collections.emptyList()); failure.setAborted(true); return failure; @@ -120,7 +120,7 @@ public class GitMergeCommand extends AbstractGitCommand implements MergeCommand if (mergeStrategy == MergeStrategy.SQUASH) { mergeCommand.setSquash(true); - } else if (mergeStrategy == MergeStrategy.FAST_FORWARD_IF_POSSIBLE) { + } else if (isFastForward()) { mergeCommand.setFastForward(org.eclipse.jgit.api.MergeCommand.FastForwardMode.FF_ONLY); } else { mergeCommand.setFastForward(org.eclipse.jgit.api.MergeCommand.FastForwardMode.NO_FF); @@ -150,5 +150,9 @@ public class GitMergeCommand extends AbstractGitCommand implements MergeCommand logger.info("could not merged branch {} into {} due to conflict in paths {}", toMerge, target, result.getConflicts().keySet()); return MergeCommandResult.failure(result.getConflicts().keySet()); } + + private boolean isFastForward() { + return mergeStrategy == MergeStrategy.FAST_FORWARD_IF_POSSIBLE; + } } }