sequencer: honor GIT_REFLOG_ACTION
authorElijah Newren <newren@gmail.com>
Tue, 7 Apr 2020 16:59:23 +0000 (16:59 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 7 Apr 2020 22:10:11 +0000 (15:10 -0700)
commit1f6965f994f8fe2fca80e17b5dbb293d05716be9
treecccb52adc6474e0811e5f11fc6e6133fdbd209ba
parent274b9cc25322d9ee79aa8e6d4e86f0ffe5ced925
sequencer: honor GIT_REFLOG_ACTION

There is a lot of code to honor GIT_REFLOG_ACTION throughout git,
including some in sequencer.c; unfortunately, reflog_message() and its
callers ignored it.  Instruct reflog_message() to check the existing
environment variable, and use it when present as an override to
action_name().

Also restructure pick_commits() to only temporarily modify
GIT_REFLOG_ACTION for a short duration and then restore the old value,
so that when we do this setting within a loop we do not keep adding "
(pick)" substrings and end up with a reflog message of the form
    rebase (pick) (pick) (pick) (finish): returning to refs/heads/master

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
sequencer.c
t/t3406-rebase-message.sh