This is the behavior of the shell script version of the interactive
rebase, by using the `output` function defined in `git-rebase.sh`.

Signed-off-by: Johannes Schindelin <johannes.schinde...@gmx.de>
---
 sequencer.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/sequencer.c b/sequencer.c
index 4c902e5..22568d2 100644
--- a/sequencer.c
+++ b/sequencer.c
@@ -640,10 +640,15 @@ int sequencer_commit(const char *defmsg, struct 
replay_opts *opts,
 {
        char **env = NULL;
        struct argv_array array;
-       int rc;
+       int opt = RUN_GIT_CMD, rc;
        const char *value;
 
        if (is_rebase_i(opts)) {
+               if (!edit) {
+                       opt |= RUN_COMMAND_STDOUT_TO_STDERR;
+                       opt |= RUN_HIDE_STDERR_ON_SUCCESS;
+               }
+
                env = read_author_script();
                if (!env) {
                        const char *gpg_opt = gpg_sign_opt_quoted(opts);
@@ -688,7 +693,7 @@ int sequencer_commit(const char *defmsg, struct replay_opts 
*opts,
        if (opts->allow_empty_message)
                argv_array_push(&array, "--allow-empty-message");
 
-       rc = run_command_v_opt_cd_env(array.argv, RUN_GIT_CMD, NULL,
+       rc = run_command_v_opt_cd_env(array.argv, opt, NULL,
                        (const char *const *)env);
        argv_array_clear(&array);
        free(env);
-- 
2.10.0.rc2.102.g5c102ec


Reply via email to