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:
parent
5b528474f5
commit
f17f8e8ba9
|
@ -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());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue