[performance] Remove ContainerTreeIterator and AdaptableFileTreeIterator
commit983c74084e5c5fd832f5ee0e2ebac464f850a8bd
authorAndrey Loskutov <loskutov@gmx.de>
Wed, 16 Dec 2015 15:47:38 +0000 (16 16:47 +0100)
committerMatthias Sohn <matthias.sohn@sap.com>
Wed, 23 Dec 2015 14:52:52 +0000 (23 15:52 +0100)
tree8124879057e0df676efaaee4117d801d2535ec84
parent045f15fa4c0045b8f14dfb991b985af8d089f96a
[performance] Remove ContainerTreeIterator and AdaptableFileTreeIterator

Don't hook any extra Eclipse based iterators to jgit tree traversal:

1) Eclipse IResource API can't handle "unusual" links (unresolved or
recursive), see bug 290318. This is a major functional deficiency for
repositories which make use of links.

2) The assumption that Eclipse IResource API traverses the file system
faster as java.io does not hold on Windows/Linux/Mac/NFS with modern
(7+) Java, see bug 484498 comments 10 and 14,15,17. The opposite is
true: especially on Linux the java.io access is considerably faster as
IResource API or what the ContainerTreeIterator makes of it.

AdaptableFileTreeIterator/ContainerTreeIterator use is replaced with
default FileTreeIterator, tests adopted or removed.

Bug: 484498
Change-Id: I026abee1706e6fbcd470cc7262b9fc1e59a7fe8b
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/AdaptableFileTreeIteratorTest.java [deleted file]
org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/ContainerTreeIteratorResourceFilterTest.java [deleted file]
org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/LinkedResourcesTest.java
org.eclipse.egit.core.test/src/org/eclipse/egit/core/test/SubmoduleAndContainerTreeIteratorTest.java
org.eclipse.egit.core/src/org/eclipse/egit/core/AdaptableFileTreeIterator.java [deleted file]
org.eclipse.egit.core/src/org/eclipse/egit/core/ContainerTreeIterator.java [deleted file]
org.eclipse.egit.core/src/org/eclipse/egit/core/IteratorService.java
org.eclipse.egit.core/src/org/eclipse/egit/core/op/AddToIndexOperation.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CommitDialog.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/dialogs/CompareTreeView.java
org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/merge/GitCompareEditorInput.java