]> source.dussan.org Git - jgit.git/commitdiff
pgm: Handle exceptions in Commit command 07/135307/2
authorMatthias Sohn <matthias.sohn@sap.com>
Sun, 20 Jan 2019 00:27:57 +0000 (01:27 +0100)
committerMatthias Sohn <matthias.sohn@sap.com>
Sun, 20 Jan 2019 00:27:57 +0000 (01:27 +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: Idf5325bcc235fbcf4418239a1d49572409576a7d
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Commit.java

index 00d2d100d2530801300618f84e7a0108f10d2cf5..ebbb932ac4d3c36e0744d900cec695b986708e6c 100644 (file)
  */
 package org.eclipse.jgit.pgm;
 
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.eclipse.jgit.api.CommitCommand;
 import org.eclipse.jgit.api.Git;
-import org.eclipse.jgit.api.errors.ConcurrentRefUpdateException;
+import org.eclipse.jgit.api.errors.GitAPIException;
 import org.eclipse.jgit.api.errors.JGitInternalException;
-import org.eclipse.jgit.api.errors.NoHeadException;
-import org.eclipse.jgit.api.errors.NoMessageException;
 import org.eclipse.jgit.lib.Constants;
 import org.eclipse.jgit.lib.Ref;
 import org.eclipse.jgit.pgm.internal.CLIText;
@@ -87,8 +86,7 @@ class Commit extends TextBuiltin {
 
        /** {@inheritDoc} */
        @Override
-       protected void run() throws NoHeadException, NoMessageException,
-                       ConcurrentRefUpdateException, JGitInternalException, Exception {
+       protected void run() {
                try (Git git = new Git(db)) {
                        CommitCommand commitCmd = git.commit();
                        if (author != null)
@@ -119,7 +117,7 @@ class Commit extends TextBuiltin {
                        RevCommit commit;
                        try {
                                commit = commitCmd.call();
-                       } catch (JGitInternalException e) {
+                       } catch (JGitInternalException | GitAPIException e) {
                                throw die(e.getMessage(), e);
                        }
 
@@ -133,6 +131,8 @@ class Commit extends TextBuiltin {
                        }
                        outw.println("[" + branchName + " " + commit.name() + "] " //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
                                        + commit.getShortMessage());
+               } catch (IOException e) {
+                       throw die(e.getMessage(), e);
                }
        }
 }