GitHook: use default charset for output and error streams

External scripts most probably expect the default charset.

Change-Id: I318a5e1d9f536a95e70c06ffb5b6f408cd40f73a
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
This commit is contained in:
Matthias Sohn 2021-02-09 02:42:29 +01:00
parent 5b528474f5
commit f17f8e8ba9
1 changed files with 6 additions and 4 deletions

View File

@ -9,11 +9,10 @@
*/
package org.eclipse.jgit.hooks;
import static java.nio.charset.StandardCharsets.UTF_8;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.Charset;
import java.util.concurrent.Callable;
import org.eclipse.jgit.api.errors.AbortedByHookException;
@ -155,8 +154,10 @@ protected OutputStream getErrorStream() {
*
* @throws org.eclipse.jgit.api.errors.AbortedByHookException
* If the underlying hook script exited with non-zero.
* @throws IOException
* if an IO error occurred
*/
protected void doRun() throws AbortedByHookException {
protected void doRun() throws AbortedByHookException, IOException {
final ByteArrayOutputStream errorByteArray = new ByteArrayOutputStream();
final TeeOutputStream stderrStream = new TeeOutputStream(errorByteArray,
getErrorStream());
@ -170,7 +171,8 @@ protected void doRun() throws AbortedByHookException {
getStdinArgs());
if (result.isExecutedWithError()) {
throw new AbortedByHookException(
new String(errorByteArray.toByteArray(), UTF_8),
new String(errorByteArray.toByteArray(),
Charset.defaultCharset().name()),
getHookName(), result.getExitCode());
}
}