]> source.dussan.org Git - jgit.git/commitdiff
pgm: Handle exceptions in Describe command 09/135309/2
authorMatthias Sohn <matthias.sohn@sap.com>
Sun, 20 Jan 2019 00:45:38 +0000 (01:45 +0100)
committerMatthias Sohn <matthias.sohn@sap.com>
Sun, 20 Jan 2019 00:45:38 +0000 (01:45 +0100)
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>
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Describe.java

index f91474859d9dc81286abed3dc0b87dbccc4431f2..705bcd768403501b4c39294e2444877f1cfea214 100644 (file)
  */
 package org.eclipse.jgit.pgm;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.eclipse.jgit.api.DescribeCommand;
 import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.errors.GitAPIException;
 import org.eclipse.jgit.api.errors.RefNotFoundException;
+import org.eclipse.jgit.errors.InvalidPatternException;
 import org.eclipse.jgit.lib.ObjectId;
 import org.eclipse.jgit.pgm.internal.CLIText;
 import org.kohsuke.args4j.Argument;
@@ -67,7 +70,7 @@ class Describe extends TextBuiltin {
 
        /** {@inheritDoc} */
        @Override
-       protected void run() throws Exception {
+       protected void run() {
                try (Git git = new Git(db)) {
                        DescribeCommand cmd = git.describe();
                        if (tree != null)
@@ -84,6 +87,8 @@ class Describe extends TextBuiltin {
                                throw die(CLIText.get().noNamesFound);
 
                        outw.println(result);
+               } catch (IOException | InvalidPatternException | GitAPIException e) {
+                       throw die(e.getMessage(), e);
                }
        }
 }