Browse Source

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>
tags/v3.1.0.201309270735-rc1
Jonathan Nieder 10 years ago
parent
commit
75d9b31f14

+ 5
- 2
org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/TarFormat.java View File

@@ -93,8 +93,11 @@ public class TarFormat implements ArchiveCommand.Format<ArchiveOutputStream> {
}
entry.setSize(loader.getSize());
out.putArchiveEntry(entry);
loader.copyTo(out);
out.closeArchiveEntry();
try {
loader.copyTo(out);
} finally {
out.closeArchiveEntry();
}
}

public Iterable<String> suffixes() {

+ 5
- 2
org.eclipse.jgit.archive/src/org/eclipse/jgit/archive/ZipFormat.java View File

@@ -82,8 +82,11 @@ public class ZipFormat implements ArchiveCommand.Format<ArchiveOutputStream> {
}
entry.setSize(loader.getSize());
out.putArchiveEntry(entry);
loader.copyTo(out);
out.closeArchiveEntry();
try {
loader.copyTo(out);
} finally {
out.closeArchiveEntry();
}
}

public Iterable<String> suffixes() {

Loading…
Cancel
Save