Browse Source

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
stable-5.4
Jonathan Nieder 6 years ago
parent
commit
460500e99a
  1. 26
      org.eclipse.jgit/src/org/eclipse/jgit/submodule/SubmoduleWalk.java

26
org.eclipse.jgit/src/org/eclipse/jgit/submodule/SubmoduleWalk.java

@ -149,20 +149,21 @@ public class SubmoduleWalk implements AutoCloseable {
*/ */
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 class SubmoduleWalk implements AutoCloseable {
*/ */
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;
} }
/** /**

Loading…
Cancel
Save