jgit/org.eclipse.jgit.test
Shawn Pearce b0eb744604 Delay locating .gitattributes until requested
Instead of checking every entry for .gitattributes only look for the
entry on request by TreeWalk.  This avoids impacting uses like RevWalk
filtering history.

When the attrs is requested skip to the start of the tree and look for
.gitattributes until either it is found, or it is impossible to be
present.  Due to the sorting rules of tree entries .gitattributes
should be among the first or second entries in the tree so very few
entries will need to be considered.

Waiting to find the .gitattributes file by native ordering may miss
attrs for files like .config, which sorts before .gitattributes.
Starting from the front of the tree on demand ensures the attributes
are parsed as early as necessary to process any entry in the tree.

Due to TreeWalk recursively processing up the tree of iterators we
cannot just reset the current CanonicalTreeParser to the start as
parent parsers share the same path buffer as their children.
Resetting a parent to look for .gitattributes may overwrite path
buffer data used by a child iterator.  Work around this by building a
new temporary CanonicalTreeParser instance.

Change-Id: Ife950253b687be325340d27e9915c9a40df2641c
2015-11-29 18:56:49 -08:00
..
.settings Set minimum required Java version to Java 7 2015-02-09 14:11:50 +01:00
META-INF Prepare 4.1.2-SNAPSHOT builds 2015-11-14 00:53:45 +01:00
exttst/org/eclipse/jgit Add test case comparing CGit vs JGit ignore behavior for random patterns 2015-09-30 15:48:06 +02:00
src/org/eclipse/jgit/lib Expose Sets helper to tests outside org.eclipse.jgit.api 2015-05-21 16:15:06 -07:00
tst/org/eclipse/jgit Delay locating .gitattributes until requested 2015-11-29 18:56:49 -08:00
tst-rsrc Adding JGitV1 and JGitV2 Walk Encryption 2015-10-18 23:22:56 +02:00
.classpath Add "src" folder to source folders of org.eclipse.jgit.test 2015-05-29 04:19:25 -04:00
.gitignore Extend the FS class for Java7 2013-05-04 02:01:56 +02:00
.project Extend the FS class for Java7 2013-05-04 02:01:56 +02:00
build.properties Adding AES Walk Encryption support in http://www.jets3t.org/ mode 2015-10-18 19:14:31 +00:00
org.eclipse.jgit.core--All-External-Tests (Java 6).launch Use JUnit4 for tests 2010-08-26 12:26:38 -05:00
org.eclipse.jgit.core--All-External-Tests.launch Use JUnit4 for tests 2010-08-26 12:26:38 -05:00
org.eclipse.jgit.core--All-Tests (Java 6).launch Increase heap size for jgit tests 2010-08-27 00:29:31 +02:00
org.eclipse.jgit.core--All-Tests (Java 7).launch Fix classpath of test launch configurations 2015-11-21 00:33:43 +01:00
org.eclipse.jgit.core--All-Tests (Java 8).launch Fix classpath of test launch configurations 2015-11-21 00:33:43 +01:00
org.eclipse.jgit.core--All-Tests.launch Use JUnit4 for tests 2010-08-26 12:26:38 -05:00
org.eclipse.jgit.test-WalkEncryptionTest-Proxy.launch Adding AES Walk Encryption support in http://www.jets3t.org/ mode 2015-10-18 19:14:31 +00:00
org.eclipse.jgit.test-WalkEncryptionTest.launch Adding AES Walk Encryption support in http://www.jets3t.org/ mode 2015-10-18 19:14:31 +00:00
plugin.properties Fix plugin provider names to conform with release train requirement 2013-04-08 23:05:36 +02:00
pom.xml Prepare 4.1.2-SNAPSHOT builds 2015-11-14 00:53:45 +01:00