try { MergeOp merge = geogig.command(MergeOp.class); merge.setOurs(ours).setTheirs(theirs).setNoCommit(noCommit); merge.setMessage(message).setProgressListener(progress); merge.setFastForwardOnly(fastForwardOnly).setNoFastForward(noFastForward); for (String commitish : commits) { Optional<ObjectId> commitId; commitId = geogig.command(RevParse.class).setRefSpec(commitish).call(); checkParameter(commitId.isPresent(), "Commit not found '%s'", commitish); merge.addCommit(commitId.get()); MergeReport report = merge.call(); if (progress.isCanceled()) { return;
MergeOp merge = context.command(MergeOp.class).setAuthor(authorName, authorEmail) .addCommit(importCommit.getId()); merge.setMessage("Merge: " + commitMessage); MergeReport report = merge.call(); RevCommit newCommit = report.getMergeCommit(); importResult.newCommit = newCommit;
protected MergeReport mergeNoFF(String branch, String mergeMessage, boolean mergeOurs) { Ref branchRef = geogig.command(RefParse.class).setName(branch).call().get(); ObjectId updatesBranchTip = branchRef.getObjectId(); MergeReport mergeReport = geogig.command(MergeOp.class)// .setMessage(mergeMessage)// .setNoFastForward(true)// .addCommit(updatesBranchTip)// .setOurs(mergeOurs)// .setTheirs(!mergeOurs)// .setProgressListener(SIMPLE_PROGRESS)// .call(); return mergeReport; }
public TestData mergeNoFF(String branchToMerge, String mergeCommitMessage) { ObjectId branchHead = getContext().command(RefParse.class).setName(branchToMerge).call() .get().getObjectId(); MergeReport report = getContext().command(MergeOp.class).setNoFastForward(true) .setMessage(mergeCommitMessage).addCommit(branchHead).call(); RevCommit mergeCommit = report.getMergeCommit(); checkState(mergeCommit.getParentIds().size() == 2); LOG.debug(mergeCommit.toString()); return this; }
MergeReport report = merge.addCommit(expected.get(0).getId()).setMessage("Merge").call();
@Test public void testCancelScenario2() throws Exception { // Test cancel while merging with conflicts ProgressListener listener = mock(ProgressListener.class); when(listener.isCanceled()).thenReturn(false, true); insertAndAdd(points2); geogig.command(CommitOp.class).setMessage("commit for " + idP2).call(); // create branch1 and checkout geogig.command(BranchCreateOp.class).setAutoCheckout(true).setName("branch1").call(); insertAndAdd(points1); geogig.command(CommitOp.class).setMessage("commit for " + idP1).call(); // checkout master geogig.command(CheckoutOp.class).setSource("master").call(); insertAndAdd(points1_modified); geogig.command(CommitOp.class).setMessage("commit for " + idP1 + " modified").call(); insertAndAdd(lines1); RevCommit master = geogig.command(CommitOp.class).setMessage("commit for " + idL1).call(); Ref branch1 = geogig.command(RefParse.class).setName("branch1").call().get(); MergeReport mergeReport = geogig.command(MergeOp.class).addCommit(branch1.getObjectId()) .setMessage("My merge message.").setProgressListener(listener).call(); assertNull(mergeReport); verify(listener, times(2)).isCanceled(); verifyCancelledCleanly(master); }
.setAuthor(authorName.orNull(), authorEmail.orNull())// .addCommit(localRemoteRef.getObjectId())// .setNoFastForward(noFastForward)// .setMessage(message)// .setProgressListener(getProgressListener())// .call(); pullOpResult.setMergeReport(Optional.of(report));
@Test public void testNoFastForwardSpecifyAuthor() throws Exception { // Create the following revision graph // o // | // o - Master - Point 1 added // | // o - TestBranch - Point 2 added insertAndAdd(points1); RevCommit masterCommit = geogig.command(CommitOp.class).call(); geogig.command(BranchCreateOp.class).setName("TestBranch").call(); geogig.command(CheckoutOp.class).setSource("TestBranch").call(); insertAndAdd(points2); RevCommit branchCommit = geogig.command(CommitOp.class).call(); geogig.command(CheckoutOp.class).setSource("master").call(); Ref branch = geogig.command(RefParse.class).setName("TestBranch").call().get(); MergeOp mergeOp = geogig.command(MergeOp.class).setAuthor("Test Author", "author@test.com") .addCommit(branch.getObjectId()); mergeOp.setNoFastForward(true).call(); Iterator<RevCommit> log = geogig.command(LogOp.class).call(); RevCommit mergeCommit = log.next(); assertEquals(2, mergeCommit.getParentIds().size()); assertEquals(masterCommit.getId(), mergeCommit.getParentIds().get(0)); assertEquals(branchCommit.getId(), mergeCommit.getParentIds().get(1)); assertEquals("Test Author", mergeCommit.getAuthor().getName().get()); assertEquals("author@test.com", mergeCommit.getAuthor().getEmail().get()); assertEquals(COMMITTER_NAME, mergeCommit.getCommitter().getName().get()); assertEquals(COMMITTER_EMAIL, mergeCommit.getCommitter().getEmail().get()); }
merge.setAuthor(authorName.orNull(), authorEmail.orNull()); merge.addCommit(oid.get()); } else { throw new CommandSpecException("Couldn't resolve '" + commit + "' to a commit."); final MergeReport report = merge.setNoCommit(noCommit).call();
@Test public void testOursAndTheirs() throws Exception { insertAndAdd(points1); geogig.command(CommitOp.class).call(); geogig.command(BranchCreateOp.class).setName("TestBranch").call(); Feature points1Modified = feature(pointsType, idP1, "StringProp1_2", new Integer(1000), "POINT(1 1)"); insertAndAdd(points1Modified); geogig.command(CommitOp.class).call(); geogig.command(CheckoutOp.class).setSource("TestBranch").call(); Feature points1ModifiedB = feature(pointsType, idP1, "StringProp1_3", new Integer(2000), "POINT(1 1)"); insertAndAdd(points1ModifiedB); geogig.command(CommitOp.class).call(); geogig.command(CheckoutOp.class).setSource("master").call(); Ref branch = geogig.command(RefParse.class).setName("TestBranch").call().get(); try { geogig.command(MergeOp.class).addCommit(branch.getObjectId()).setTheirs(true) .setOurs(true).call(); fail(); } catch (IllegalArgumentException e) { assertTrue(true); } }
@Test public void testNoFastForward() throws Exception { // Create the following revision graph // o // | // o - Master - Point 1 added // | // o - TestBranch - Point 2 added insertAndAdd(points1); RevCommit masterCommit = geogig.command(CommitOp.class).call(); geogig.command(BranchCreateOp.class).setName("TestBranch").call(); geogig.command(CheckoutOp.class).setSource("TestBranch").call(); insertAndAdd(points2); RevCommit branchCommit = geogig.command(CommitOp.class).call(); geogig.command(CheckoutOp.class).setSource("master").call(); Ref branch = geogig.command(RefParse.class).setName("TestBranch").call().get(); MergeOp mergeOp = geogig.command(MergeOp.class).addCommit(branch.getObjectId()); mergeOp.setNoFastForward(true).call(); Iterator<RevCommit> log = geogig.command(LogOp.class).call(); RevCommit mergeCommit = log.next(); assertEquals(2, mergeCommit.getParentIds().size()); assertEquals(masterCommit.getId(), mergeCommit.getParentIds().get(0)); assertEquals(branchCommit.getId(), mergeCommit.getParentIds().get(1)); assertEquals(COMMITTER_NAME, mergeCommit.getAuthor().getName().get()); assertEquals(COMMITTER_EMAIL, mergeCommit.getAuthor().getEmail().get()); assertEquals(COMMITTER_NAME, mergeCommit.getCommitter().getName().get()); assertEquals(COMMITTER_EMAIL, mergeCommit.getCommitter().getEmail().get()); }
Ref branch = geogig.command(RefParse.class).setName("branch1").call().get(); geogig.command(MergeOp.class).addCommit(branch.getObjectId()).setNoCommit(true).call();
@Test public void testFastForwardOnly() throws Exception { // Create the following revision graph // o // | // o - Point 1 added // |\ // | o - TestBranch - Point 1 modified // | // o - master - HEAD - Point 1 modified insertAndAdd(points1); geogig.command(CommitOp.class).call(); geogig.command(BranchCreateOp.class).setName("TestBranch").call(); Feature points1Modified = feature(pointsType, idP1, "StringProp1_2", new Integer(1000), "POINT(1 1)"); insertAndAdd(points1Modified); geogig.command(CommitOp.class).call(); geogig.command(CheckoutOp.class).setSource("TestBranch").call(); Feature points1ModifiedB = feature(pointsType, idP1, "StringProp1_3", new Integer(2000), "POINT(1 1)"); insertAndAdd(points1ModifiedB); geogig.command(CommitOp.class).call(); geogig.command(CheckoutOp.class).setSource("master").call(); Ref branch = geogig.command(RefParse.class).setName("TestBranch").call().get(); MergeOp mergeOp = geogig.command(MergeOp.class).addCommit(branch.getObjectId()); mergeOp.setFastForwardOnly(true); exception.expect(IllegalStateException.class); mergeOp.call(); }
try { transaction.command(MergeOp.class) .setAuthor(authorName.orNull(), authorEmail.orNull()) .addCommit(currentRef.get().getObjectId()) .setProgressListener(getProgressListener()).call(); } catch (NothingToCommitException e) { LOGGER.debug("Transaction merge for {} unnecessary. {}",
} else { getProgressListener().setDescription("Merging updated features..."); command(MergeOp.class).addCommit(upstreamCommitId) .setProgressListener(getProgressListener()).call();
@Test public void testMergeNoCommits() throws Exception { exception.expect(IllegalArgumentException.class); geogig.command(MergeOp.class).call(); }