mirror of
https://github.com/git/git
synced 2024-08-25 10:45:59 +00:00
rebase: do not attempt to remove startup_info->original_cwd
Since rebase spawns a `checkout` subprocess, make sure we run that from the startup_info->original_cwd directory, so that the checkout process knows to protect that directory. Acked-by: Derrick Stolee <stolee@gmail.com> Acked-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c65744e7d7
commit
bc3ae46b42
|
@ -4228,6 +4228,8 @@ static int run_git_checkout(struct repository *r, struct replay_opts *opts,
|
||||||
|
|
||||||
cmd.git_cmd = 1;
|
cmd.git_cmd = 1;
|
||||||
|
|
||||||
|
if (startup_info->original_cwd)
|
||||||
|
cmd.dir = startup_info->original_cwd;
|
||||||
strvec_push(&cmd.args, "checkout");
|
strvec_push(&cmd.args, "checkout");
|
||||||
strvec_push(&cmd.args, commit);
|
strvec_push(&cmd.args, commit);
|
||||||
strvec_pushf(&cmd.env_array, GIT_REFLOG_ACTION "=%s", action);
|
strvec_pushf(&cmd.env_array, GIT_REFLOG_ACTION "=%s", action);
|
||||||
|
|
|
@ -166,11 +166,11 @@ test_expect_success 'cherry-pick fails if cwd needs to be removed' '
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'rebase does not clean cwd incidentally' '
|
test_expect_success 'rebase does not clean cwd incidentally' '
|
||||||
test_incidental_dir_removal failure git rebase reverted
|
test_incidental_dir_removal success git rebase reverted
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'rebase fails if cwd needs to be removed' '
|
test_expect_success 'rebase fails if cwd needs to be removed' '
|
||||||
test_required_dir_removal failure git rebase fd_conflict
|
test_required_dir_removal success git rebase fd_conflict
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'revert does not clean cwd incidentally' '
|
test_expect_success 'revert does not clean cwd incidentally' '
|
||||||
|
|
Loading…
Reference in a new issue