Browse Source

pgm: Handle exceptions in Describe 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: Ic5d9d94c4a451f300fb7ad3f71b3e22db9a2c181
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-5.4
Matthias Sohn 6 years ago
parent
commit
11a9075536
  1. 7
      org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Describe.java

7
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Describe.java

@ -42,12 +42,15 @@
*/ */
package org.eclipse.jgit.pgm; package org.eclipse.jgit.pgm;
import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.eclipse.jgit.api.DescribeCommand; import org.eclipse.jgit.api.DescribeCommand;
import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.Git;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.api.errors.RefNotFoundException; import org.eclipse.jgit.api.errors.RefNotFoundException;
import org.eclipse.jgit.errors.InvalidPatternException;
import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.pgm.internal.CLIText; import org.eclipse.jgit.pgm.internal.CLIText;
import org.kohsuke.args4j.Argument; import org.kohsuke.args4j.Argument;
@ -67,7 +70,7 @@ class Describe 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)) {
DescribeCommand cmd = git.describe(); DescribeCommand cmd = git.describe();
if (tree != null) if (tree != null)
@ -84,6 +87,8 @@ class Describe extends TextBuiltin {
throw die(CLIText.get().noNamesFound); throw die(CLIText.get().noNamesFound);
outw.println(result); outw.println(result);
} catch (IOException | InvalidPatternException | GitAPIException e) {
throw die(e.getMessage(), e);
} }
} }
} }

Loading…
Cancel
Save