From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx> I've updated these based on the feedback for v2. I've dropped the patch that stopped print_commit_summary() from dying as I think it is better to die than return an error (see the commit message of the patch that adds print_commit_summary() for the reasoning). Apart from that they're minor changes - style fixes and a reworded a commit message. Here's the original summary: These patches teach the sequencer to create commits without forking git commit when the commit message does not need to be edited. This speeds up cherry picking 10 commits by 26% and picking 10 commits with rebase --continue by 44%. The first few patches move bits of builtin/commit.c to sequencer.c. The last two patches actually implement creating commits in sequencer.c. Phillip Wood (8): t3404: check intermediate squash messages commit: move empty message checks to libgit Add a function to update HEAD after creating a commit commit: move post-rewrite code to libgit commit: move print_commit_summary() to libgit sequencer: simplify adding Signed-off-by: trailer sequencer: load commit related config sequencer: try to commit without forking 'git commit' builtin/commit.c | 289 +++---------------------- builtin/rebase--helper.c | 13 +- builtin/revert.c | 15 +- sequencer.c | 486 +++++++++++++++++++++++++++++++++++++++++- sequencer.h | 23 ++ t/t3404-rebase-interactive.sh | 4 + 6 files changed, 561 insertions(+), 269 deletions(-) -- 2.15.0