[PATCH v2 00/23] Enable options --signoff, --reset-author for pick, reword
- From
Fabian Ruch <bafain@gmail.com>
- Date
- Aug 6, 2014, 23:59 UTC
- Message-ID
- <cover.1407368621.git.bafain@gmail.com>
- In-Reply-To
- <53A258D2.7080806@gmail.com>
Hi List,
this is the second reroll of the patch series fixing corner-case bugs regarding empty commits, commits with no log message and root commits, providing a uniform implementation of the to-do list commands using the `do_pick` interface.
This reroll includes the following list of changes to PATCH v1 from last week, mostly induced by Jeff's comments. However, I didn't get around the most recent discussion from tonight yet.
- new tests: allow replaying commits with empty log messages
- coverage of all to-do list commands
- new patch: allow squashing empty commits without complaints
- do not complain about an empty squash commit unless it is the
final one and --keep-empty is not specified on the command line
- new tests: allow rewording empty commits without complaints
- coverage of all to-do list commands
- new patch: hide interactive command messages in verbose mode
- make it possible to launch an editor inside 'output'
- new patch: allow disabling pre-commit and commit-msg separately
- add options --no-pre-commit and --no-commit-msg to git-commit
- redefine --no-verify as synonym for the above two
- new patch: squash skips commit-msg hook
- run commit-msg hook for reworded _and_ squashed commits
- a change to 'test_commit' options and 'fake_editor' debug outputThanks for your time and reviews, Fabian
Fabian Ruch (23): rebase -i: allow replaying commits with empty log messages rebase -i: allow squashing empty commits without complaints rebase -i: allow rewording empty commits without complaints rebase -i: hide interactive command messages in verbose mode rebase -i: failed reword prints redundant error message commit: allow disabling pre-commit and commit-msg separately rebase -i: squash skips commit-msg hook rebase -i: reword executes pre-commit hook on interim commit rebase -i: teach do_pick the option --edit rebase -i: implement reword in terms of do_pick rebase -i: log the replay of root commits rebase -i: root commits are replayed with an unnecessary option rebase -i: commit only once when rewriting picks rebase -i: do not die in do_pick rebase -i: teach do_pick the option --amend rebase -i: teach do_pick the option --file rebase -i: prepare for squash in terms of do_pick --amend rebase -i: implement squash in terms of do_pick rebase -i: explicitly distinguish replay commands and exec tasks rebase -i: parse to-do list command line options rebase -i: teach do_pick the option --reset-author rebase -i: teach do_pick the option --signoff rebase -i: enable options --signoff, --reset-author for pick, reword
Documentation/git-commit.txt | 8 +- builtin/commit.c | 32 ++++- git-rebase--interactive.sh | 288 ++++++++++++++++++++++++++++++++++-------- git-rebase.sh | 12 +- t/lib-rebase.sh | 8 +- t/t3404-rebase-interactive.sh | 234 ++++++++++++++++++++++++++++++++-- t/t3406-rebase-message.sh | 18 +++ t/t3412-rebase-root.sh | 16 +++ t/t7503-pre-commit-hook.sh | 65 ++++++++-- t/t7504-commit-msg-hook.sh | 85 ++++++++++--- t/test-lib-functions.sh | 23 +++- 11 files changed, 680 insertions(+), 109 deletions(-)
-- 2.0.1