Browse Source

Provide a root cause for aborted commands

Change-Id: Iafaa03dbacbe7f1b2b074d3294db988b08fdb0d7
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
tags/v4.2.0.201601211800-r
Andrey Loskutov 8 years ago
parent
commit
4b7839cafd

+ 15
- 0
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Die.java View File

@@ -86,6 +86,21 @@ public class Die extends RuntimeException {
* @since 3.4
*/
public Die(boolean aborted) {
this(aborted, null);
}

/**
* Construct a new exception reflecting the fact that the command execution
* has been aborted before running.
*
* @param aborted
* boolean indicating the fact the execution has been aborted
* @param cause
* can be null
* @since 4.2
*/
public Die(boolean aborted, final Throwable cause) {
super(cause != null ? cause.getMessage() : null, cause);
this.aborted = aborted;
}


+ 14
- 1
org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/TextBuiltin.java View File

@@ -217,7 +217,7 @@ public abstract class TextBuiltin {
} catch (CmdLineException err) {
if (!help) {
this.errw.println(MessageFormat.format(CLIText.get().fatalError, err.getMessage()));
throw die(true);
throw die(true, err);
}
}

@@ -324,6 +324,19 @@ public abstract class TextBuiltin {
return new Die(aborted);
}

/**
* @param aborted
* boolean indicating that the execution has been aborted before
* running
* @param cause
* why the command has failed.
* @return a runtime exception the caller is expected to throw
* @since 4.2
*/
protected static Die die(boolean aborted, final Throwable cause) {
return new Die(aborted, cause);
}

String abbreviateRef(String dst, boolean abbreviateRemote) {
if (dst.startsWith(R_HEADS))
dst = dst.substring(R_HEADS.length());

Loading…
Cancel
Save