Skip to content

Commit

Permalink
sequencer: avoid progress when stderr is redirected
Browse files Browse the repository at this point in the history
During a run of the Scalar functional tests, we hit a case where the
inexact rename detection of a 'git cherry-pick' command slowed to the
point of writing its delayed progress, failing the test because stderr
differed from the control case. Showing progress like this when stderr
is not a terminal is non-standard for Git, so inject an isatty(2) when
initializing the progress option in sequencer.c.

Unfortunately, there is no '--quiet' option in 'git cherry-pick'
currently wired up. This could be considered in the future, and the
isatty(2) could be moved to that position. This would also be needed for
commands like 'git rebase', so we leave that for another time.

Reported-by: Victoria Dye <[email protected]>
Signed-off-by: Derrick Stolee <[email protected]>
  • Loading branch information
derrickstolee committed Apr 25, 2023
1 parent ceee26d commit 056ccf3
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion sequencer.c
Original file line number Diff line number Diff line change
Expand Up @@ -689,7 +689,7 @@ static int do_recursive_merge(struct repository *r,
o.branch2 = next ? next_label : "(empty tree)";
if (is_rebase_i(opts))
o.buffer_output = 2;
o.show_rename_progress = 1;
o.show_rename_progress = isatty(2);

head_tree = parse_tree_indirect(head);
next_tree = next ? get_commit_tree(next) : empty_tree(r);
Expand Down

0 comments on commit 056ccf3

Please sign in to comment.