Close unfinished archive entries on error

Otherwise the underlying error is hidden by an "IOException: This
archives contains unclosed entries." when jgit tries to close the
archive.

Reported-by: Dave Borowitz <dborowitz@google.com>
Change-Id: I594dcdf366200b802e13e5a645fe06597feb7bb4
Signed-off-by: Jonathan Nieder <jrn@google.com>
This commit is contained in:
Jonathan Nieder 2013-07-17 12:19:12 -07:00
parent 459fd7d4bb
commit 75d9b31f14
2 changed files with 10 additions and 4 deletions

View File

@ -93,8 +93,11 @@ public void putEntry(ArchiveOutputStream out,
}
entry.setSize(loader.getSize());
out.putArchiveEntry(entry);
loader.copyTo(out);
out.closeArchiveEntry();
try {
loader.copyTo(out);
} finally {
out.closeArchiveEntry();
}
}
public Iterable<String> suffixes() {

View File

@ -82,8 +82,11 @@ public void putEntry(ArchiveOutputStream out,
}
entry.setSize(loader.getSize());
out.putArchiveEntry(entry);
loader.copyTo(out);
out.closeArchiveEntry();
try {
loader.copyTo(out);
} finally {
out.closeArchiveEntry();
}
}
public Iterable<String> suffixes() {