Merge branch 'pw/sequencer-in-process-commit'
authorJunio C Hamano <gitster@pobox.com>
Tue, 13 Feb 2018 21:39:15 +0000 (13:39 -0800)
committerJunio C Hamano <gitster@pobox.com>
Tue, 13 Feb 2018 21:39:15 +0000 (13:39 -0800)
commit0f57f731ea2a540a4c82b476054e8a36aebb2314
tree7d71894a78d4b3acd828861c2c15e314ee18a0a4
parentdd0c256b67d1b128655c42ae126fa3397b1f9ede
parent66618a50f9c9f008d7aef751418f12ba9bfc6b85
Merge branch 'pw/sequencer-in-process-commit'

The sequencer infrastructure is shared across "git cherry-pick",
"git rebase -i", etc., and has always spawned "git commit" when it
needs to create a commit.  It has been taught to do so internally,
when able, by reusing the codepath "git commit" itself uses, which
gives performance boost for a few tens of percents in some sample
scenarios.

* pw/sequencer-in-process-commit:
  sequencer: run 'prepare-commit-msg' hook
  t7505: add tests for cherry-pick and rebase -i/-p
  t7505: style fixes
  sequencer: assign only free()able strings to gpg_sign
  sequencer: improve config handling
  t3512/t3513: remove KNOWN_FAILURE_CHERRY_PICK_SEES_EMPTY_COMMIT=1
  sequencer: try to commit without forking 'git commit'
  sequencer: load commit related config
  sequencer: simplify adding Signed-off-by: trailer
  commit: move print_commit_summary() to libgit
  commit: move post-rewrite code to libgit
  Add a function to update HEAD after creating a commit
  commit: move empty message checks to libgit
  t3404: check intermediate squash messages
builtin/commit.c
builtin/rebase--helper.c
sequencer.c
sequencer.h
t/t3404-rebase-interactive.sh
t/t3512-cherry-pick-submodule.sh