This patch series rewrites some parts of interactive rebase from shell
to C:

 - append_todo_help(). The C version covers a bit more than the shell
   version.

 - The edit-todo functionnality.

 - The reflog operations.

 - complete_action().

 - init_revisions_and_shortrevisions().

This patch series is based on master (as of 2018-07-10).

Changes since v2:

 - Lowercasing error messages.

 - Removing a comment from run_command_silent_on_success().

 - Using the `else` keyword to call run_command_silent_on_success() or
   run_command() in run_git_commit() and run_git_checkout().

 - Dropping the `verbose` parameter in run_git_checkout(),
   prepare_branch_to_be_rebased(), and checkout_onto(), as the
   replay_opts structure already has a `verbose` field.

 - Rewriting complete_action() and init_revisions_and_shortrevisions().

Alban Gruin (13):
  sequencer: make two functions and an enum from sequencer.c public
  rebase--interactive: rewrite append_todo_help() in C
  editor: add a function to launch the sequence editor
  rebase-interactive: rewrite the edit-todo functionality in C
  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
  sequencer: refactor append_todo_help() to write its message to a
    buffer
  sequencer: change the way skip_unnecessary_picks() returns its result
  rebase--interactive: rewrite complete_action() in C
  rebase--interactive: remove unused modes and functions
  rebase -i: implement the logic to initialize the variable $revision in
    C
  rebase -i: rewrite the rest of init_revisions_and_shortrevisions in C

 Makefile                   |   1 +
 builtin/rebase--helper.c   | 123 +++++++++++++++++----
 cache.h                    |   1 +
 editor.c                   |  27 ++++-
 git-rebase--interactive.sh | 216 ++-----------------------------------
 git-rebase.sh              |   2 +-
 rebase-interactive.c       |  96 +++++++++++++++++
 rebase-interactive.h       |  11 ++
 sequencer.c                | 215 +++++++++++++++++++++++++++++-------
 sequencer.h                |  15 ++-
 strbuf.h                   |   2 +
 11 files changed, 439 insertions(+), 270 deletions(-)
 create mode 100644 rebase-interactive.c
 create mode 100644 rebase-interactive.h

-- 
2.18.0

Reply via email to