diff options
| author | Elijah Newren <newren@gmail.com> | 2021-12-09 05:08:31 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2021-12-09 13:33:13 -0800 |
| commit | bc3ae46b420f58dfe2bfd87714dca096a043d554 (patch) | |
| tree | fcdead9833944f8fecae5e2a3c2cd1271c7c0732 | |
| parent | c65744e7d7f512f3666da5964f0ace90325dd94a (diff) | |
| download | git-bc3ae46b420f58dfe2bfd87714dca096a043d554.tar.gz | |
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>
| -rw-r--r-- | sequencer.c | 2 | ||||
| -rwxr-xr-x | t/t2501-cwd-empty.sh | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/sequencer.c b/sequencer.c index ea96837cde..83f257e7fa 100644 --- a/sequencer.c +++ b/sequencer.c @@ -4228,6 +4228,8 @@ static int run_git_checkout(struct repository *r, struct replay_opts *opts, cmd.git_cmd = 1; + if (startup_info->original_cwd) + cmd.dir = startup_info->original_cwd; strvec_push(&cmd.args, "checkout"); strvec_push(&cmd.args, commit); strvec_pushf(&cmd.env_array, GIT_REFLOG_ACTION "=%s", action); diff --git a/t/t2501-cwd-empty.sh b/t/t2501-cwd-empty.sh index b1182390ba..52335a8afe 100755 --- a/t/t2501-cwd-empty.sh +++ b/t/t2501-cwd-empty.sh @@ -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_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_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' ' |
