Message ID | 767ea219e3365303535c8b5f0d8eadb28b5e872e.1723778779.git.matheus.tavb@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | rebase -x: don't print "Executing:" msgs with --quiet | expand |
On Thu, Aug 15, 2024 at 8:26 PM Matheus Tavares <matheus.tavb@gmail.com> wrote: > > `rebase --exec` doesn't obey --quiet and end up printing a few messages > about the cmd being executed: > > git rebase HEAD~3 --quiet --exec "printf foo >/dev/null" > Executing: printf foo >/dev/null > Executing: printf foo >/dev/null > Executing: printf foo >/dev/null > > Let's fix that. > > Suggested-by: Rodrigo Siqueira <siqueirajordao@riseup.net> > Signed-off-by: Matheus Tavares <matheus.tavb@gmail.com> > --- > sequencer.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/sequencer.c b/sequencer.c > index 0291920f0b..d5824b41c1 100644 > --- a/sequencer.c > +++ b/sequencer.c > @@ -3793,12 +3793,14 @@ static int error_failed_squash(struct repository *r, > return error_with_patch(r, commit, subject, subject_len, opts, 1, 0); > } > > -static int do_exec(struct repository *r, const char *command_line) > +static int do_exec(struct repository *r, const char *command_line, int quiet) > { > struct child_process cmd = CHILD_PROCESS_INIT; > int dirty, status; > > - fprintf(stderr, _("Executing: %s\n"), command_line); > + if (!quiet) { > + fprintf(stderr, _("Executing: %s\n"), command_line); > + } > cmd.use_shell = 1; > strvec_push(&cmd.args, command_line); > strvec_push(&cmd.env, "GIT_CHERRY_PICK_HELP"); > @@ -5013,7 +5015,7 @@ static int pick_commits(struct repository *r, > if (!opts->verbose) > term_clear_line(); > *end_of_arg = '\0'; > - res = do_exec(r, arg); > + res = do_exec(r, arg, opts->quiet); > *end_of_arg = saved; > > if (res) { > -- > 2.46.0 Makes sense and looks good to me. It's kind surprising just how many places we've ignored --quiet over the years...anyway, thanks for fixing another one of them.
On Fri, Aug 16, 2024 at 12:26:19AM -0300, Matheus Tavares wrote: > `rebase --exec` doesn't obey --quiet and end up printing a few messages s/end/ends/ > about the cmd being executed: s/cmd/command/ > git rebase HEAD~3 --quiet --exec "printf foo >/dev/null" > Executing: printf foo >/dev/null > Executing: printf foo >/dev/null > Executing: printf foo >/dev/null > > Let's fix that. > > Suggested-by: Rodrigo Siqueira <siqueirajordao@riseup.net> > Signed-off-by: Matheus Tavares <matheus.tavb@gmail.com> > --- > sequencer.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/sequencer.c b/sequencer.c > index 0291920f0b..d5824b41c1 100644 > --- a/sequencer.c > +++ b/sequencer.c > @@ -3793,12 +3793,14 @@ static int error_failed_squash(struct repository *r, > return error_with_patch(r, commit, subject, subject_len, opts, 1, 0); > } > > -static int do_exec(struct repository *r, const char *command_line) > +static int do_exec(struct repository *r, const char *command_line, int quiet) > { > struct child_process cmd = CHILD_PROCESS_INIT; > int dirty, status; > > - fprintf(stderr, _("Executing: %s\n"), command_line); > + if (!quiet) { > + fprintf(stderr, _("Executing: %s\n"), command_line); > + } We don't typically use braces around single-line statements, so they should be removed here. > cmd.use_shell = 1; > strvec_push(&cmd.args, command_line); > strvec_push(&cmd.env, "GIT_CHERRY_PICK_HELP"); > @@ -5013,7 +5015,7 @@ static int pick_commits(struct repository *r, > if (!opts->verbose) > term_clear_line(); > *end_of_arg = '\0'; > - res = do_exec(r, arg); > + res = do_exec(r, arg, opts->quiet); > *end_of_arg = saved; > > if (res) { Do we also want to add a test for this fix? Other than those nits the fix looks obviously correct to me, thanks! Patrick
Patrick Steinhardt <ps@pks.im> writes: >> if (res) { > > Do we also want to add a test for this fix? > > Other than those nits the fix looks obviously correct to me, thanks! Thanks for a review. I agree that this is almost there but would want a test.
diff --git a/sequencer.c b/sequencer.c index 0291920f0b..d5824b41c1 100644 --- a/sequencer.c +++ b/sequencer.c @@ -3793,12 +3793,14 @@ static int error_failed_squash(struct repository *r, return error_with_patch(r, commit, subject, subject_len, opts, 1, 0); } -static int do_exec(struct repository *r, const char *command_line) +static int do_exec(struct repository *r, const char *command_line, int quiet) { struct child_process cmd = CHILD_PROCESS_INIT; int dirty, status; - fprintf(stderr, _("Executing: %s\n"), command_line); + if (!quiet) { + fprintf(stderr, _("Executing: %s\n"), command_line); + } cmd.use_shell = 1; strvec_push(&cmd.args, command_line); strvec_push(&cmd.env, "GIT_CHERRY_PICK_HELP"); @@ -5013,7 +5015,7 @@ static int pick_commits(struct repository *r, if (!opts->verbose) term_clear_line(); *end_of_arg = '\0'; - res = do_exec(r, arg); + res = do_exec(r, arg, opts->quiet); *end_of_arg = saved; if (res) {
`rebase --exec` doesn't obey --quiet and end up printing a few messages about the cmd being executed: git rebase HEAD~3 --quiet --exec "printf foo >/dev/null" Executing: printf foo >/dev/null Executing: printf foo >/dev/null Executing: printf foo >/dev/null Let's fix that. Suggested-by: Rodrigo Siqueira <siqueirajordao@riseup.net> Signed-off-by: Matheus Tavares <matheus.tavb@gmail.com> --- sequencer.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-)