private void createConflicts(SimpleFeature... features) { for (SimpleFeature base : features) { SimpleFeature toOrigin = TestData.clone(base); toOrigin.setAttribute("sp", "modified on origin"); origin.checkout("master").insert(toOrigin).add() .commit(String.format("change %s on origin", base.getID())); SimpleFeature toClone = TestData.clone(base); toClone.setAttribute("sp", "modified on fork"); clone.checkout("issuerBranch").insert(toClone).add() .commit(String.format("change %s on clone", base.getID())); } }
private void createConflicts(SimpleFeature... features) { for (SimpleFeature base : features) { SimpleFeature toOrigin = TestData.clone(base); toOrigin.setAttribute("sp", "modified on origin"); origin.checkout("master").insert(toOrigin).add() .commit(String.format("change %s on origin", base.getID())); SimpleFeature toClone = TestData.clone(base); toClone.setAttribute("sp", "modified on fork"); clone.checkout("issuerBranch").insert(toClone).add() .commit(String.format("change %s on clone", base.getID())); } }
public @Test void prepareAndManuallyResolveAllConflicts() { createConflicts(TestData.point1, TestData.line1, TestData.poly1); PRStatus result = prepare(); assertEquals(3, result.getNumConflicts()); final UUID transactionId = request.getTransactionId(); origin.resumeTransaction(transactionId); assertEquals(request.getTargetBranch(), origin.getRef("HEAD").peel().localName()); //@formatter:off SimpleFeature c1 = TestData.clone(TestData.point1); c1.setAttribute("sp", "manually set"); SimpleFeature c2 = TestData.clone(TestData.line1); c2.setAttribute("sp", "manually set"); SimpleFeature c3 = TestData.clone(TestData.poly1); c3.setAttribute("sp", "manually set"); //@formatter:on Context context = clone.checkout("issuerBranch").getContext(); try { PullResult pres = context.command(PullOp.class).addRefSpec("master").call(); fail("Expected MergeConflictsException , got " + pres); } catch (MergeConflictsException e) { assertEquals(3, e.getReport().getConflicts()); clone.insert(c1, c2, c3).add().commit("manual conflict fix"); } result = prepare(); assertTrue(result.getMergeCommit().isPresent()); assertTrue(result.getReport().isPresent()); GeogigTransaction prtx = getTransaction(); Optional<Ref> mergeRef = request.resolveMergeRef(prtx); assertTrue(mergeRef.isPresent()); assertEquals(result.getMergeCommit().get(), mergeRef.get().getObjectId()); }
SimpleFeature r1 = TestData.clone(TestData.point1); SimpleFeature r2 = TestData.clone(TestData.line1); SimpleFeature r3 = TestData.clone(TestData.poly1); r1.setAttribute("sp", "same value at both ends cancel out the conflict"); r2.setAttribute("sp", "same value at both ends cancel out the conflict");
SimpleFeature r1 = TestData.clone(TestData.point1); SimpleFeature r2 = TestData.clone(TestData.line1); SimpleFeature r3 = TestData.clone(TestData.poly1); r1.setAttribute("sp", "same value at both ends cancel out the conflict"); r2.setAttribute("sp", "same value at both ends cancel out the conflict");