This patch series rewrites the reflog operations from shell to C. This is part of the effort to rewrite interactive rebase in C. The first commit is dedicated to creating a function to silence a command, as the sequencer will do in several places with these patches. This branch is based on ag/rebase-i-rewrite-todo, and does not conflict with pu (as of 2018-06-19). Changes since v1: - Replacing run_command_silent_if_successful() by run_command_silent_on_success() in the first commit’s message (thanks Christian!) - Adding a “verbose” parameter to run_command_silent_on_success() (thanks Phillip!) - Using OPT__VERBOSE to parse the “--verbose” flag (thanks Stefan!) - Fixing some typos and errors in the commit messages - Renaming “setup-reflog” to “checkout-base” - Renaming checkout_base_commit() to run_git_checkout() - Replacing calls to die() by error() Alban Gruin (3): sequencer: add a new function to silence a command, except if it fails. rebase -i: rewrite setup_reflog_action() in C rebase -i: rewrite checkout_onto() in C builtin/rebase--helper.c | 14 ++++++- git-rebase--interactive.sh | 39 +++-------------- sequencer.c | 102 +++++++++++++++++++++++++++++++++------------ sequencer.h | 6 +++ 4 files changed, 99 insertions(+), 62 deletions(-) -- 2.16.4