diff options
author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2017-03-23 17:07:17 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-03-27 13:55:13 -0700 |
commit | b92ff6e81429c6a2636b4d6d26ab9ce5d4890fe8 (patch) | |
tree | cd8f3b4c98c4a8609eeebb7639688aceb7be8735 /sequencer.c | |
parent | sequencer: make commit options more extensible (diff) | |
download | tgif-b92ff6e81429c6a2636b4d6d26ab9ce5d4890fe8.tar.xz |
sequencer: allow the commit-msg hooks to run during a `reword`
The `reword` command used to call `git commit` in a manner that asks for
the prepare-commit-msg and commit-msg hooks to do their thing.
Converting that part of the interactive rebase to C code introduced the
regression where those hooks were no longer run.
Let's fix this.
Note: the flag is called `VERIFY_MSG` instead of the more intuitive
`RUN_COMMIT_MSG_HOOKS` to indicate that the flag suppresses the
`--no-verify` flag (which may do other things in the future in addition
to suppressing the commit message hooks, too).
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sequencer.c')
-rw-r--r-- | sequencer.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sequencer.c b/sequencer.c index 677e6ef764..d53ca44e5e 100644 --- a/sequencer.c +++ b/sequencer.c @@ -606,6 +606,7 @@ N_("you have staged changes in your working tree\n" #define EDIT_MSG (1<<1) #define AMEND_MSG (1<<2) #define CLEANUP_MSG (1<<3) +#define VERIFY_MSG (1<<4) /* * If we are cherry-pick, and if the merge did not result in @@ -642,8 +643,9 @@ static int run_git_commit(const char *defmsg, struct replay_opts *opts, } argv_array_push(&cmd.args, "commit"); - argv_array_push(&cmd.args, "-n"); + if (!(flags & VERIFY_MSG)) + argv_array_push(&cmd.args, "-n"); if ((flags & AMEND_MSG)) argv_array_push(&cmd.args, "--amend"); if (opts->gpg_sign) @@ -996,6 +998,8 @@ static int do_pick_commit(enum todo_command command, struct commit *commit, if (res || command != TODO_REWORD) goto leave; flags |= EDIT_MSG | AMEND_MSG; + if (command == TODO_REWORD) + flags |= VERIFY_MSG; msg_file = NULL; goto fast_forward_edit; } @@ -1050,7 +1054,7 @@ static int do_pick_commit(enum todo_command command, struct commit *commit, } if (command == TODO_REWORD) - flags |= EDIT_MSG; + flags |= EDIT_MSG | VERIFY_MSG; else if (is_fixup(command)) { if (update_squash_messages(command, commit, opts)) return -1; |