зеркало из https://github.com/microsoft/git.git
sequencer: unset GIT_CHERRY_PICK_HELP for 'exec' commands
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. Helped-by: Phillip Wood <phillip.wood123@gmail.com> Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
564d0252ca
Коммит
e4301f73ff
|
@ -3647,6 +3647,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 */
|
||||
|
|
|
@ -153,6 +153,18 @@ test_expect_success 'rebase -i with the exec command checks tree cleanness' '
|
|||
git rebase --continue
|
||||
'
|
||||
|
||||
test_expect_success 'cherry-pick works with rebase --exec' '
|
||||
test_when_finished "git cherry-pick --abort; \
|
||||
git rebase --abort; \
|
||||
git checkout primary" &&
|
||||
echo "exec git cherry-pick G" >todo &&
|
||||
(
|
||||
set_replace_editor todo &&
|
||||
test_must_fail git rebase -i D D
|
||||
) &&
|
||||
test_cmp_rev G CHERRY_PICK_HEAD
|
||||
'
|
||||
|
||||
test_expect_success 'rebase -x with empty command fails' '
|
||||
test_when_finished "git rebase --abort ||:" &&
|
||||
test_must_fail env git rebase -x "" @ 2>actual &&
|
||||
|
|
Загрузка…
Ссылка в новой задаче