From d1bdfcd0a85d1092aee0230b282bba577c73fb4d Mon Sep 17 00:00:00 2001 From: Tim Neumann Date: Thu, 28 Nov 2019 12:56:12 +0100 Subject: [PATCH] Add possibility to get pure stderr output from AbortedByHookException This is a preparation for the corresponding EGit change to remove redundant output in the aborted by commit hook popup. Bug: 553469 Change-Id: Id5f39a4df659fafc9d951668e6f53fed4380de9d Signed-off-by: Tim Neumann Signed-off-by: Matthias Sohn --- .../api/errors/AbortedByHookException.java | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/api/errors/AbortedByHookException.java b/org.eclipse.jgit/src/org/eclipse/jgit/api/errors/AbortedByHookException.java index db6440b55..30a2d622a 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/api/errors/AbortedByHookException.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/api/errors/AbortedByHookException.java @@ -66,20 +66,27 @@ public class AbortedByHookException extends GitAPIException { */ private final int returnCode; + /** + * The stderr output of the hook. + */ + private final String hookStdErr; + /** * Constructor for AbortedByHookException * - * @param message - * The error details. + * @param hookStdErr + * The error details from the stderr output of the hook * @param hookName * The name of the hook that interrupted the command, must not be * null. * @param returnCode * The return code of the hook process that has been run. */ - public AbortedByHookException(String message, String hookName, + public AbortedByHookException(String hookStdErr, String hookName, int returnCode) { - super(message); + super(MessageFormat.format(JGitText.get().commandRejectedByHook, + hookName, hookStdErr)); + this.hookStdErr = hookStdErr; this.hookName = hookName; this.returnCode = returnCode; } @@ -102,10 +109,13 @@ public class AbortedByHookException extends GitAPIException { return returnCode; } - /** {@inheritDoc} */ - @Override - public String getMessage() { - return MessageFormat.format(JGitText.get().commandRejectedByHook, - hookName, super.getMessage()); + /** + * Get the stderr output of the hook. + * + * @return A string containing the complete stderr output of the hook. + * @since 5.6 + */ + public String getHookStdErr() { + return hookStdErr; } }