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-29). Changes since v4: - Changing the order of setup_reflog_action() and checkout_onto() rewrites in the series - checkout_onto() is no longer renamed in C - setup_reflog_action() is renamed to prepare_branch_to_be_rebased(), and not to checkout_onto(). 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 | 101 +++++++++++++++++++++++++++---------- sequencer.h | 6 +++ 4 files changed, 98 insertions(+), 62 deletions(-) -- 2.18.0