[PATCH 2/2] sequencer: unset GIT_CHERRY_PICK_HELP for 'exec' commands
- From
Vegard Nossum <vegard.nossum@oracle.com>
- Date
- Feb 5, 2024, 14:13 UTC
- Message-ID
- <20240205141335.762947-1-vegard.nossum@oracle.com>
- In-Reply-To
- <0adb1068-ef10-44ed-ad1d-e0927a09245d@gmail.com>
Running "git cherry-pick" as an x-command in the rebase plan loses the original authorship information.
To fix this, unset GIT_CHERRY_PICK_HELP for 'exec' commands.
Link: https://lore.kernel.org/git/0adb1068-ef10-44ed-ad1d-e0927a09245d@gmail.com/ Suggested-by: Phillip Wood <phillip.wood123@gmail.com> Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com> --- sequencer.c | 1 + t/t3515-cherry-pick-rebase.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/sequencer.c b/sequencer.c index 91de546b32..f49a871ac0 100644 --- a/sequencer.c +++ b/sequencer.c @@ -3641,6 +3641,7 @@ static int do_exec(struct repository *r, const char *command_line) fprintf(stderr, _("Executing: %s\n"), command_line); cmd.use_shell = 1; strvec_push(&cmd.args, command_line); + strvec_push(&cmd.env, "GIT_CHERRY_PICK_HELP"); status = run_command(&cmd); /* force re-reading of the cache */ diff --git a/t/t3515-cherry-pick-rebase.sh b/t/t3515-cherry-pick-rebase.sh index ffe6f5fe2a..5cb2b96f66 100755 --- a/t/t3515-cherry-pick-rebase.sh +++ b/t/t3515-cherry-pick-rebase.sh @@ -23,7 +23,7 @@ test_expect_success 'cherry-pick preserves authorship information' ' test_cmp expected actual ' -test_expect_failure 'cherry-pick inside rebase preserves authorship information' ' +test_expect_success 'cherry-pick inside rebase preserves authorship information' ' git checkout -B tmp feature && echo "x git cherry-pick -x foo" >rebase-plan && test_must_fail env GIT_SEQUENCE_EDITOR="cp rebase-plan" git rebase -i feature &&
-- 2.34.1