Use recursive merge as the default strategy since it can successfully merge more cases than the resolve strategy can. This is also the default in native Git. Change-Id: I38fd522edb2791f15d83e99038185edb09fed8e1 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>tags/v3.0.0.201305080800-m7
@@ -97,7 +97,7 @@ public class MergeTest extends CLIRepositoryTestCase { | |||
git.add().addFilepattern("side").call(); | |||
git.commit().setMessage("side commit").call(); | |||
assertEquals("Merge made by the '" + MergeStrategy.RESOLVE.getName() | |||
assertEquals("Merge made by the '" + MergeStrategy.RECURSIVE.getName() | |||
+ "' strategy.", execute("git merge master")[0]); | |||
} | |||
@@ -75,7 +75,7 @@ class Merge extends TextBuiltin { | |||
@Option(name = "--no-commit", usage = "usage_noCommit") | |||
private boolean noCommit = false; | |||
private MergeStrategy mergeStrategy = MergeStrategy.RESOLVE; | |||
private MergeStrategy mergeStrategy = MergeStrategy.RECURSIVE; | |||
@Argument(required = true) | |||
private String ref; |
@@ -150,7 +150,7 @@ public class CherryPickCommand extends GitCommand<CherryPickResult> { | |||
String cherryPickName = srcCommit.getId().abbreviate(7).name() | |||
+ " " + srcCommit.getShortMessage(); //$NON-NLS-1$ | |||
ResolveMerger merger = (ResolveMerger) MergeStrategy.RESOLVE | |||
ResolveMerger merger = (ResolveMerger) MergeStrategy.RECURSIVE | |||
.newMerger(repo); | |||
merger.setWorkingTreeIterator(new FileTreeIterator(repo)); | |||
merger.setBase(srcParent.getTree()); |
@@ -95,7 +95,7 @@ import org.eclipse.jgit.util.StringUtils; | |||
*/ | |||
public class MergeCommand extends GitCommand<MergeResult> { | |||
private MergeStrategy mergeStrategy = MergeStrategy.RESOLVE; | |||
private MergeStrategy mergeStrategy = MergeStrategy.RECURSIVE; | |||
private List<Ref> commits = new LinkedList<Ref>(); | |||
@@ -160,7 +160,7 @@ public class RevertCommand extends GitCommand<RevCommit> { | |||
String revertName = srcCommit.getId().abbreviate(7).name() | |||
+ " " + srcCommit.getShortMessage(); //$NON-NLS-1$ | |||
ResolveMerger merger = (ResolveMerger) MergeStrategy.RESOLVE | |||
ResolveMerger merger = (ResolveMerger) MergeStrategy.RECURSIVE | |||
.newMerger(repo); | |||
merger.setWorkingTreeIterator(new FileTreeIterator(repo)); | |||
merger.setBase(srcCommit.getTree()); | |||
@@ -194,14 +194,15 @@ public class RevertCommand extends GitCommand<RevCommit> { | |||
merger.getBaseCommit(0, 1), | |||
new ObjectId[] { headCommit.getId(), | |||
srcParent.getId() }, | |||
MergeStatus.FAILED, MergeStrategy.RESOLVE, | |||
MergeStatus.FAILED, MergeStrategy.RECURSIVE, | |||
merger.getMergeResults(), failingPaths, null); | |||
else | |||
failingResult = new MergeResult(null, | |||
merger.getBaseCommit(0, 1), | |||
new ObjectId[] { headCommit.getId(), | |||
srcParent.getId() }, | |||
MergeStatus.CONFLICTING, MergeStrategy.RESOLVE, | |||
MergeStatus.CONFLICTING, | |||
MergeStrategy.RECURSIVE, | |||
merger.getMergeResults(), failingPaths, null); | |||
if (!merger.failed() && !unmergedPaths.isEmpty()) { | |||
String message = new MergeMessageFormatter() |
@@ -168,7 +168,7 @@ public class StashApplyCommand extends GitCommand<ObjectId> { | |||
.getParent(1)); | |||
ObjectId stashHeadCommit = stashCommit.getParent(0); | |||
ResolveMerger merger = (ResolveMerger) MergeStrategy.RESOLVE | |||
ResolveMerger merger = (ResolveMerger) MergeStrategy.RECURSIVE | |||
.newMerger(repo); | |||
merger.setCommitNames(new String[] { "stashed HEAD", "HEAD", | |||
"stash" }); | |||
@@ -181,7 +181,7 @@ public class StashApplyCommand extends GitCommand<ObjectId> { | |||
dco.setFailOnConflict(true); | |||
dco.checkout(); // Ignoring failed deletes.... | |||
if (applyIndex) { | |||
ResolveMerger ixMerger = (ResolveMerger) MergeStrategy.RESOLVE | |||
ResolveMerger ixMerger = (ResolveMerger) MergeStrategy.RECURSIVE | |||
.newMerger(repo, true); | |||
ixMerger.setCommitNames(new String[] { "stashed HEAD", | |||
"HEAD", "stashed index" }); |