]> source.dussan.org Git - jgit.git/commitdiff
pgm: Handle exceptions in Clean command 02/135202/3
authorMatthias Sohn <matthias.sohn@sap.com>
Wed, 16 Jan 2019 23:31:58 +0000 (00:31 +0100)
committerMatthias Sohn <matthias.sohn@sap.com>
Sun, 20 Jan 2019 00:24:19 +0000 (01:24 +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: Ic06bf16c9bfc79753a9ec767f8030a12887df168
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Clean.java

index 6ae078c953db662fc6f948e20617adc0dbebf2b7..db9e95925952a4ea0938400bb976636393cd7a11 100644 (file)
 
 package org.eclipse.jgit.pgm;
 
+import java.io.IOException;
 import java.text.MessageFormat;
 import java.util.Set;
 
 import org.eclipse.jgit.api.Git;
+import org.eclipse.jgit.api.errors.GitAPIException;
+import org.eclipse.jgit.errors.NoWorkTreeException;
 import org.eclipse.jgit.pgm.internal.CLIText;
 import org.kohsuke.args4j.Option;
 
@@ -64,7 +67,7 @@ class Clean extends TextBuiltin {
 
        /** {@inheritDoc} */
        @Override
-       protected void run() throws Exception {
+       protected void run() {
                try (Git git = new Git(db)) {
                        boolean requireForce = git.getRepository().getConfig()
                                        .getBoolean("clean", "requireForce", true); //$NON-NLS-1$ //$NON-NLS-2$
@@ -82,6 +85,8 @@ class Clean extends TextBuiltin {
                                outw.println(MessageFormat.format(CLIText.get().removing,
                                                removedFile));
                        }
+               } catch (NoWorkTreeException | GitAPIException | IOException e) {
+                       throw die(e.getMessage(), e);
                }
        }
 }