DiffCommand: Open DiffFormatter in try-with-resource

Change-Id: I22bd1062d64b01bb98cdaf612482538114624b7f
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
This commit is contained in:
David Pursehouse 2018-03-06 10:40:35 +09:00
parent e466548235
commit e2d875ee30
1 changed files with 9 additions and 10 deletions

View File

@ -104,6 +104,12 @@ protected DiffCommand(Repository repo) {
super(repo);
}
private DiffFormatter getDiffFormatter() {
return out != null && !showNameAndStatusOnly
? new DiffFormatter(new BufferedOutputStream(out))
: new DiffFormatter(NullOutputStream.INSTANCE);
}
/**
* {@inheritDoc}
* <p>
@ -114,14 +120,9 @@ protected DiffCommand(Repository repo) {
*/
@Override
public List<DiffEntry> call() throws GitAPIException {
final DiffFormatter diffFmt;
if (out != null && !showNameAndStatusOnly)
diffFmt = new DiffFormatter(new BufferedOutputStream(out));
else
diffFmt = new DiffFormatter(NullOutputStream.INSTANCE);
diffFmt.setRepository(repo);
diffFmt.setProgressMonitor(monitor);
try {
try (DiffFormatter diffFmt = getDiffFormatter()) {
diffFmt.setRepository(repo);
diffFmt.setProgressMonitor(monitor);
if (cached) {
if (oldTree == null) {
ObjectId head = repo.resolve(HEAD + "^{tree}"); //$NON-NLS-1$
@ -159,8 +160,6 @@ public List<DiffEntry> call() throws GitAPIException {
}
} catch (IOException e) {
throw new JGitInternalException(e.getMessage(), e);
} finally {
diffFmt.close();
}
}