Browse Source

pgm: Handle exceptions in Status command

This avoids we show a stacktrace on the console by default when this
type of exception is thrown during the run method is executed.

Change-Id: I662a343fbb46c35090bd6f840e5a35a88036a65a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-5.4
Matthias Sohn 6 years ago
parent
commit
c6bd13922f
  1. 6
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Status.java

6
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Status.java

@ -54,6 +54,8 @@ import java.util.TreeSet;
import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.StatusCommand; import org.eclipse.jgit.api.StatusCommand;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.errors.NoWorkTreeException;
import org.eclipse.jgit.lib.Constants; import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.IndexDiff.StageState; import org.eclipse.jgit.lib.IndexDiff.StageState;
import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.Ref;
@ -88,7 +90,7 @@ class Status extends TextBuiltin {
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
protected void run() throws Exception { protected void run() {
try (Git git = new Git(db)) { try (Git git = new Git(db)) {
StatusCommand statusCommand = git.status(); StatusCommand statusCommand = git.status();
if (filterPaths != null && filterPaths.size() > 0) if (filterPaths != null && filterPaths.size() > 0)
@ -96,6 +98,8 @@ class Status extends TextBuiltin {
statusCommand.addPath(path); statusCommand.addPath(path);
org.eclipse.jgit.api.Status status = statusCommand.call(); org.eclipse.jgit.api.Status status = statusCommand.call();
printStatus(status); printStatus(status);
} catch (GitAPIException | NoWorkTreeException | IOException e) {
throw die(e.getMessage(), e);
} }
} }

Loading…
Cancel
Save