Use try-with-resources to close walks in ArchiveCommand
Change-Id: I77120d77a12f1bab5c918a23b0e3eac90e320b2b Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
parent
d94ce9c754
commit
81c84c088f
|
@ -365,13 +365,11 @@ public ArchiveCommand(Repository repo) {
|
||||||
|
|
||||||
private <T extends Closeable> OutputStream writeArchive(Format<T> fmt) {
|
private <T extends Closeable> OutputStream writeArchive(Format<T> fmt) {
|
||||||
final String pfx = prefix == null ? "" : prefix; //$NON-NLS-1$
|
final String pfx = prefix == null ? "" : prefix; //$NON-NLS-1$
|
||||||
final TreeWalk walk = new TreeWalk(repo);
|
try (final TreeWalk walk = new TreeWalk(repo)) {
|
||||||
try {
|
|
||||||
final T outa = fmt.createArchiveOutputStream(out, formatOptions);
|
final T outa = fmt.createArchiveOutputStream(out, formatOptions);
|
||||||
try {
|
try (final RevWalk rw = new RevWalk(walk.getObjectReader())) {
|
||||||
final MutableObjectId idBuf = new MutableObjectId();
|
final MutableObjectId idBuf = new MutableObjectId();
|
||||||
final ObjectReader reader = walk.getObjectReader();
|
final ObjectReader reader = walk.getObjectReader();
|
||||||
final RevWalk rw = new RevWalk(walk.getObjectReader());
|
|
||||||
|
|
||||||
walk.reset(rw.parseTree(tree));
|
walk.reset(rw.parseTree(tree));
|
||||||
if (!paths.isEmpty())
|
if (!paths.isEmpty())
|
||||||
|
@ -405,8 +403,6 @@ private <T extends Closeable> OutputStream writeArchive(Format<T> fmt) {
|
||||||
// TODO(jrn): Throw finer-grained errors.
|
// TODO(jrn): Throw finer-grained errors.
|
||||||
throw new JGitInternalException(
|
throw new JGitInternalException(
|
||||||
JGitText.get().exceptionCaughtDuringExecutionOfArchiveCommand, e);
|
JGitText.get().exceptionCaughtDuringExecutionOfArchiveCommand, e);
|
||||||
} finally {
|
|
||||||
walk.release();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue