diff options
author | Robin Rosenberg <robin.rosenberg@dewire.com> | 2011-09-25 00:17:19 +0200 |
---|---|---|
committer | Robin Rosenberg <robin.rosenberg@dewire.com> | 2011-09-25 00:17:19 +0200 |
commit | b4112c17484d6a54e956807298593847da079577 (patch) | |
tree | 0acc5f24e7ad98144a393d7be206642be030a952 | |
parent | 19a366d532f829bb4955f7344b68d9b2c9514fc7 (diff) | |
download | jgit-b4112c17484d6a54e956807298593847da079577.tar.gz jgit-b4112c17484d6a54e956807298593847da079577.zip |
Fix DirCache,getEntriesWithin for empty string arguemnt
Change-Id: I0bea130df611de3ef8c9251093b11c62b5442cd1
-rw-r--r-- | org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheFindTest.java | 7 | ||||
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCache.java | 5 |
2 files changed, 12 insertions, 0 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheFindTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheFindTest.java index e861bed178..a4bb559da9 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheFindTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheFindTest.java @@ -88,6 +88,13 @@ public class DirCacheFindTest extends RepositoryTestCase { for (int i = aFirst, j = 0; i <= aLast; i++, j++) assertSame(ents[i], aContents[j]); } + { + final DirCacheEntry[] aContents = dc.getEntriesWithin(""); + assertNotNull(aContents); + assertEquals(ents.length, aContents.length); + for (int i = 0; i < ents.length; i++) + assertSame(ents[i], aContents[i]); + } assertNotNull(dc.getEntriesWithin("a.")); assertEquals(0, dc.getEntriesWithin("a.").length); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCache.java b/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCache.java index 456236c09d..af98c33151 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCache.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCache.java @@ -712,6 +712,11 @@ public class DirCache { * @return all entries recursively contained within the subtree. */ public DirCacheEntry[] getEntriesWithin(String path) { + if (path.length() == 0) { + final DirCacheEntry[] r = new DirCacheEntry[sortedEntries.length]; + System.arraycopy(sortedEntries, 0, r, 0, sortedEntries.length); + return r; + } if (!path.endsWith("/")) path += "/"; final byte[] p = Constants.encode(path); |