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