assertFalse(treeWalk.next());
}
+ @Test
+ public void testConflicts() throws Exception {
+ RevCommit initial = git.commit().setMessage("initial").call();
+ writeTrashFile(FILE, "master");
+ git.add().addFilepattern(FILE).call();
+ RevCommit master = git.commit().setMessage("master").call();
+ git.checkout().setName("refs/heads/side")
+ .setCreateBranch(true).setStartPoint(initial).call();
+ writeTrashFile(FILE, "side");
+ git.add().addFilepattern(FILE).call();
+ RevCommit side = git.commit().setMessage("side").call();
+ assertFalse(git.merge().include("master", master).call()
+ .getMergeStatus()
+ .isSuccessful());
+ assertEquals(read(FILE),
+ "<<<<<<< HEAD\nside\n=======\nmaster\n>>>>>>> master\n");
+ writeTrashFile(FILE, "master");
+
+ TreeWalk treeWalk = createTreeWalk(side);
+ int count = 0;
+ while (treeWalk.next())
+ count++;
+ assertEquals(2, count);
+ }
+
@Test
public void testFileInFolderCommitted() throws Exception {
RevCommit commit = writeFileInFolderAndCommit();
DirCacheIterator di = tw.getTree(dirCache, DirCacheIterator.class);
if (di != null) {
DirCacheEntry dce = di.getDirCacheEntry();
- if (dce != null)
+ if (dce != null) {
if (dce.isAssumeValid())
return false;
+ // Never filter index entries with a stage different from 0
+ if (dce.getStage() != 0)
+ return true;
+ }
}
if (!tw.isPostOrderTraversal()) {