Browse Source

Fix DirCache,getEntriesWithin for empty string arguemnt

Change-Id: I0bea130df611de3ef8c9251093b11c62b5442cd1
tags/v1.2.0.201112221803-r
Robin Rosenberg 12 years ago
parent
commit
b4112c1748

+ 7
- 0
org.eclipse.jgit.test/tst/org/eclipse/jgit/dircache/DirCacheFindTest.java View File

@@ -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);

+ 5
- 0
org.eclipse.jgit/src/org/eclipse/jgit/dircache/DirCache.java View File

@@ -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);

Loading…
Cancel
Save