[PATCH v2 29/34] sequencer (rebase -i): show only failed `git commit`'s output
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Dec 13, 2016, 15:32 UTC
- Message-ID
- <4cce3c1462b290494b3195c9ff4918ad99c24a14.1481642927.git.johannes.schindelin@gmx.de>
- In-Reply-To
- <cover.1481642927.git.johannes.schindelin@gmx.de>
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.schindelin@gmx.de> --- sequencer.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/sequencer.c b/sequencer.c index 63f6f25ced..dfa4fab98b 100644 --- a/sequencer.c +++ b/sequencer.c @@ -647,10 +647,15 @@ static int run_git_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); @@ -687,7 +692,7 @@ static int run_git_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.11.0.rc3.windows.1