Преглед изворни кода

IndexDiff: Use isModified() when comparing index-worktree

The isModified() is more efficient because it can skip over files that
are stat clean, without needing to scan them.

This is useful to efficently work on paths that were already staged
and thus differ between HEAD and the index, but not between the index
and the working tree.

Change-Id: I4418202e612f0571974e0898050d987c6c280966
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
tags/v0.10.1
Shawn O. Pearce пре 13 година
родитељ
комит
a66a7d90fd

+ 4
- 3
org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/IndexDiffTest.java Прегледај датотеку

@@ -252,8 +252,10 @@ public class IndexDiffTest extends RepositoryTestCase {
IndexDiff diff = new IndexDiff(db, Constants.HEAD, iterator);
diff.diff();
assertEquals(1, diff.getAssumeUnchanged().size());
assertEquals(2, diff.getModified().size());
assertEquals(1, diff.getModified().size());
assertEquals(0, diff.getChanged().size());
assertTrue(diff.getAssumeUnchanged().contains("file2"));
assertTrue(diff.getModified().contains("file"));

git.add().addFilepattern(".").call();

@@ -261,10 +263,9 @@ public class IndexDiffTest extends RepositoryTestCase {
diff = new IndexDiff(db, Constants.HEAD, iterator);
diff.diff();
assertEquals(1, diff.getAssumeUnchanged().size());
assertEquals(1, diff.getModified().size());
assertEquals(0, diff.getModified().size());
assertEquals(1, diff.getChanged().size());
assertTrue(diff.getAssumeUnchanged().contains("file2"));
assertTrue(diff.getModified().contains("file2"));
assertTrue(diff.getChanged().contains("file"));
}


+ 2
- 1
org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java Прегледај датотеку

@@ -232,7 +232,8 @@ public class IndexDiff {
missing.add(treeWalk.getPathString());
changesExist = true;
} else {
if (!dirCacheIterator.idEqual(workingTreeIterator)) {
if (workingTreeIterator.isModified(
dirCacheIterator.getDirCacheEntry(), true)) {
// in index, in workdir, content differs => modified
modified.add(treeWalk.getPathString());
changesExist = true;

Loading…
Откажи
Сачувај