]> git.ipfire.org Git - thirdparty/git.git/commit
sequencer: write CHERRY_PICK_HEAD for reword and edit
authorPhillip Wood <phillip.wood@dunelm.org.uk>
Fri, 6 Dec 2019 16:06:09 +0000 (16:06 +0000)
committerJunio C Hamano <gitster@pobox.com>
Fri, 6 Dec 2019 17:32:01 +0000 (09:32 -0800)
commit21b11c6d1de3840dcaf3fa82dae14ca3924f689f
treee64d350048a385453c8f208dd31de2df6150a593
parentf028d661c74f29de0e26494e6c9fbcf186b0d4ae
sequencer: write CHERRY_PICK_HEAD for reword and edit

`git commit` relies on the presence of CHERRY_PICK_HEAD to show the
correct error message in the case of an empty pick.  This fixes a
regression introduced by the conversion from shell to C. In the shell
version everything was a cherry-pick as far as the sequencer code was
concerned so it always wrote CHERRY_PICK_HEAD. The conversion to C
forgot to update the code that creates CHERRY_PICK_HEAD. We do not want
to create CHERRY_PICK_HEAD for fixup and squash commands as that would
prevent `git commit --amend` from running.

Note that the error message shown by `git commit` for an empty pick
during a rebase is currently wrong as it talks about running `git
cherry-pick --skip` rather than `git rebase --skip`. This will be fixed
in a future commit which is why the tests are in t3403-rebase-skip.sh.

Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
sequencer.c
t/t3403-rebase-skip.sh