Add a release() method to SubmoduleWalk
We need a way to release the underlying TreeWalk. Also, use this method to release walks from the static factory methods on error or when submodules are not found. Change-Id: I6bedc2db78bcd577aef2cfe6715bb981a26dcfd7
This commit is contained in:
parent
2656ac1b5a
commit
458f64c6ea
|
@ -102,12 +102,18 @@ public static SubmoduleWalk forIndex(Repository repository)
|
|||
public static SubmoduleWalk forPath(Repository repository,
|
||||
AnyObjectId treeId, String path) throws IOException {
|
||||
SubmoduleWalk generator = new SubmoduleWalk(repository);
|
||||
try {
|
||||
generator.setTree(treeId);
|
||||
PathFilter filter = PathFilter.create(path);
|
||||
generator.setFilter(filter);
|
||||
while (generator.next())
|
||||
if (filter.isDone(generator.walk))
|
||||
return generator;
|
||||
} catch (IOException e) {
|
||||
generator.release();
|
||||
throw e;
|
||||
}
|
||||
generator.release();
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -124,12 +130,18 @@ public static SubmoduleWalk forPath(Repository repository,
|
|||
public static SubmoduleWalk forPath(Repository repository,
|
||||
AbstractTreeIterator iterator, String path) throws IOException {
|
||||
SubmoduleWalk generator = new SubmoduleWalk(repository);
|
||||
try {
|
||||
generator.setTree(iterator);
|
||||
PathFilter filter = PathFilter.create(path);
|
||||
generator.setFilter(filter);
|
||||
while (generator.next())
|
||||
if (filter.isDone(generator.walk))
|
||||
return generator;
|
||||
} catch (IOException e) {
|
||||
generator.release();
|
||||
throw e;
|
||||
}
|
||||
generator.release();
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -511,4 +523,9 @@ public String getRemoteUrl() throws IOException, ConfigInvalidException {
|
|||
String url = getModulesUrl();
|
||||
return url != null ? getSubmoduleRemoteUrl(repository, url) : null;
|
||||
}
|
||||
|
||||
/** Release any resources used by this walker's reader. */
|
||||
public void release() {
|
||||
walk.release();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue