Package org.eclipse.jgit.api

Examples of org.eclipse.jgit.api.MergeResult


    git.commit().setMessage("on brancha").call();

    db.getConfig().setString("core", null, "autocrlf", "input");
    db.getConfig().save();

    MergeResult mergeResult = git.merge().setStrategy(strategy)
        .include(db.resolve("master"))
        .call();
    assertEquals(MergeResult.MergeStatus.MERGED,
        mergeResult.getMergeStatus());
  }
View Full Code Here


    writeTrashFile("d/1", "modified");
    git.commit().setAll(true).setMessage("modified d/1 on side").call();

    git.rm().addFilepattern("d/1").call();
    git.rm().addFilepattern("d").call();
    MergeResult mergeRes = git.merge().setStrategy(strategy)
        .include(masterCommit).call();
    assertEquals(MergeStatus.MERGED, mergeRes.getMergeStatus());
    assertEquals("[d/1, mode:100644, content:modified]",
        indexState(CONTENT));
  }
View Full Code Here

    git.add().addFilepattern("d/1").call();
    git.commit().setAll(true).setMessage("added d/1 on side").call();

    git.rm().addFilepattern("d/1").call();
    git.rm().addFilepattern("d").call();
    MergeResult mergeRes = git.merge().setStrategy(strategy)
        .include(masterCommit).call();
    assertEquals(MergeStatus.MERGED, mergeRes.getMergeStatus());
    assertEquals(
        "[2, mode:100644, content:orig][d/1, mode:100644, content:orig]",
        indexState(CONTENT));
  }
View Full Code Here

    git.add().addFilepattern("d/1").call();
    git.commit().setAll(true).setMessage("added d/1 on side").call();

    git.rm().addFilepattern("d/1").call();
    git.rm().addFilepattern("d").call();
    MergeResult mergeRes = git.merge().setStrategy(strategy)
        .include(masterCommit).call();
    assertEquals(MergeStatus.CONFLICTING, mergeRes.getMergeStatus());
    assertEquals(
        "[2, mode:100644, content:orig][d/1, mode:100644, stage:2, content:side][d/1, mode:100644, stage:3, content:master]",
        indexState(CONTENT));
  }
View Full Code Here

    git.commit().setAll(true).setMessage("modified 0 on side").call();

    git.rm().addFilepattern("0").call();
    writeTrashFile("0/0", "side");
    git.add().addFilepattern("0/0").call();
    MergeResult mergeRes = git.merge().setStrategy(strategy)
        .include(masterCommit).call();
    assertEquals(MergeStatus.FAILED, mergeRes.getMergeStatus());
  }
View Full Code Here

    writeTrashFile("1", "1\n2\n3side2");
    git.commit().setAll(true)
        .setMessage("modified 1 on side again").call();

    MergeResult result = git.merge().setStrategy(strategy)
        .include(masterCommit).call();
    assertEquals(MergeStatus.MERGED, result.getMergeStatus());
    result.getNewHead();
    git.checkout().setName("master").call();
    result = git.merge().setStrategy(strategy).include(sideCommit).call();
    assertEquals(MergeStatus.MERGED, result.getMergeStatus());

    // we have two branches which are criss-cross merged. Try to merge the
    // tips. This should succeed with RecursiveMerge and fail with
    // ResolveMerge
    try {
      MergeResult mergeResult = git.merge().setStrategy(strategy)
          .include(git.getRepository().getRef("refs/heads/side"))
          .call();
      assertEquals(MergeStrategy.RECURSIVE, strategy);
      assertEquals(MergeResult.MergeStatus.MERGED,
          mergeResult.getMergeStatus());
      assertEquals("1master2\n2\n3side2\n", read("1"));
    } catch (JGitInternalException e) {
      assertEquals(MergeStrategy.RESOLVE, strategy);
      assertTrue(e.getCause() instanceof NoMergeBaseException);
      assertEquals(((NoMergeBaseException) e.getCause()).getReason(),
View Full Code Here

    git.commit().setMessage("added c.txt").call();

    // Get a handle to the the file so on windows it can't be deleted.
    FileInputStream fis = new FileInputStream(new File(db.getWorkTree(),
        "b.txt"));
    MergeResult mergeRes = git.merge().setStrategy(strategy)
        .include(masterCommit).call();
    if (mergeRes.getMergeStatus().equals(MergeStatus.FAILED)) {
      // probably windows
      assertEquals(1, mergeRes.getFailingPaths().size());
      assertEquals(MergeFailureReason.COULD_NOT_DELETE, mergeRes
          .getFailingPaths().get("b.txt"));
    }
    assertEquals("[a.txt, mode:100644, content:master]"
        + "[c.txt, mode:100644, content:side]", indexState(CONTENT));
    fis.close();
View Full Code Here

    writeTrashFile("a", "1\na(main)\n3\n");
    git.add().addFilepattern("a").call();
    git.commit().setMessage("main").call();

    // merge side with master
    MergeResult result = git.merge().include(secondCommit.getId())
        .setStrategy(MergeStrategy.RESOLVE).call();
    assertEquals(MergeStatus.CONFLICTING, result.getMergeStatus());

    FileTreeIterator iterator = new FileTreeIterator(db);
    IndexDiff diff = new IndexDiff(db, Constants.HEAD, iterator);
    diff.diff();
View Full Code Here

    writeTrashFile("a", "1\na(main)\n3\n");
    git.add().addFilepattern("a").call();
    git.commit().setMessage("main").call();

    // merge side with master
    MergeResult result = git.merge().include(secondCommit.getId())
        .setStrategy(MergeStrategy.RESOLVE).call();
    assertEquals(MergeStatus.CONFLICTING, result.getMergeStatus());

    FileTreeIterator iterator = new FileTreeIterator(db);
    IndexDiff diff = new IndexDiff(db, Constants.HEAD, iterator);
    diff.diff();
View Full Code Here

    writeTrashFile("b", "1\nb(main)\n3\n");
    git.add().addFilepattern("b").call();
    git.commit().setMessage("main").call();

    MergeResult result = git.merge().include(secondCommit.getId())
        .setStrategy(MergeStrategy.RESOLVE).call();
    assertEquals(MergeStatus.CONFLICTING, result.getMergeStatus());

    FileTreeIterator iterator = new FileTreeIterator(db);
    IndexDiff diff = new IndexDiff(db, Constants.HEAD, iterator);
    diff.diff();
View Full Code Here

TOP

Related Classes of org.eclipse.jgit.api.MergeResult

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.