Browse Source

DiffCommand: Open DiffFormatter in try-with-resource

Change-Id: I22bd1062d64b01bb98cdaf612482538114624b7f
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
stable-4.11
David Pursehouse 7 years ago
parent
commit
e2d875ee30
  1. 15
      org.eclipse.jgit/src/org/eclipse/jgit/api/DiffCommand.java

15
org.eclipse.jgit/src/org/eclipse/jgit/api/DiffCommand.java

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

Loading…
Cancel
Save