Revert "Use try-with-resources in SubmoduleWalk"

This reverts commit 39b0b51b12. Before
that change, SubmoduleWalk.forPath transferred ownership to the caller
on success. Afterward, it returns a closed SubmoduleWalk to the caller,
which does not appear to be intentional.

Change-Id: I9381daac5153706e24fd9117700089848b58c54e
This commit is contained in:
Jonathan Nieder 2019-04-14 11:00:46 -04:00
parent 39b0b51b12
commit 460500e99a
1 changed files with 14 additions and 12 deletions

View File

@ -149,20 +149,21 @@ public static SubmoduleWalk forIndex(Repository repository)
*/ */
public static SubmoduleWalk forPath(Repository repository, public static SubmoduleWalk forPath(Repository repository,
AnyObjectId treeId, String path) throws IOException { AnyObjectId treeId, String path) throws IOException {
try (SubmoduleWalk generator = new SubmoduleWalk(repository)) { SubmoduleWalk generator = new SubmoduleWalk(repository);
try {
generator.setTree(treeId); generator.setTree(treeId);
PathFilter filter = PathFilter.create(path); PathFilter filter = PathFilter.create(path);
generator.setFilter(filter); generator.setFilter(filter);
generator.setRootTree(treeId); generator.setRootTree(treeId);
while (generator.next()) { while (generator.next())
if (filter.isDone(generator.walk)) { if (filter.isDone(generator.walk))
return generator; return generator;
}
}
return null;
} catch (IOException e) { } catch (IOException e) {
generator.close();
throw e; throw e;
} }
generator.close();
return null;
} }
/** /**
@ -181,20 +182,21 @@ public static SubmoduleWalk forPath(Repository repository,
*/ */
public static SubmoduleWalk forPath(Repository repository, public static SubmoduleWalk forPath(Repository repository,
AbstractTreeIterator iterator, String path) throws IOException { AbstractTreeIterator iterator, String path) throws IOException {
try (SubmoduleWalk generator = new SubmoduleWalk(repository)) { SubmoduleWalk generator = new SubmoduleWalk(repository);
try {
generator.setTree(iterator); generator.setTree(iterator);
PathFilter filter = PathFilter.create(path); PathFilter filter = PathFilter.create(path);
generator.setFilter(filter); generator.setFilter(filter);
generator.setRootTree(iterator); generator.setRootTree(iterator);
while (generator.next()) { while (generator.next())
if (filter.isDone(generator.walk)) { if (filter.isDone(generator.walk))
return generator; return generator;
}
}
return null;
} catch (IOException e) { } catch (IOException e) {
generator.close();
throw e; throw e;
} }
generator.close();
return null;
} }
/** /**