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 output
Thanks 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
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html