Re: [PATCH] Revert "setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR"
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 21, 2015, 17:28 UTC
- Message-ID
- <xmqqegefhftq.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <1450693372-6863-1-git-send-email-pclouds@gmail.com>
Nguyễn Thái Ngọc Duy <pclouds@gmail.com> writes:
Show 16 quoted lines
> This commit has caused three regression reports so far. All of them are > about spawning git subprocesses, where the new presence of GIT_WORK_TREE > either changes command behaviour (git-init or git-clone), or how > repo/worktree is detected (from aliases), with or without $GIT_DIR. > The original bug will be re-fixed another way. > > Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> > --- > On Thu, Dec 3, 2015 at 12:09 AM, Junio C Hamano <gitster@pobox.com> wrote: > > OK, when/if you decide that our first step should be a revert of > > d95138e please send in a patch to do so with a brief write-up of a > > follow-up plan. > > Three reports to me are enough. And I obviously could not push the > fix out fast enough. So if you want to revert it, here's the patch on > maint.
The timing of this is a bit unfortunate, as d95138e is a regression since v2.5.1 throughout v2.6 series. I'll push this out on maint and onwards for now. I do not think we added new things that rely on the post-d95138e "broken" behaviour in-tree, but this reversion might introduce another unexpected regression X-<. We'll see.
Thanks.
Show 31 quoted lines
>
> environment.c | 2 --
> t/t0002-gitfile.sh | 2 +-
> 2 files changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/environment.c b/environment.c
> index 23a38e4..f1a2a49 100644
> --- a/environment.c
> +++ b/environment.c
> @@ -238,8 +238,6 @@ void set_git_work_tree(const char *new_work_tree)
> }
> git_work_tree_initialized = 1;
> work_tree = xstrdup(real_path(new_work_tree));
> - if (setenv(GIT_WORK_TREE_ENVIRONMENT, work_tree, 1))
> - die("could not set GIT_WORK_TREE to '%s'", work_tree);
> }
>
> const char *get_git_work_tree(void)
> diff --git a/t/t0002-gitfile.sh b/t/t0002-gitfile.sh
> index 9670e8c..3afe012 100755
> --- a/t/t0002-gitfile.sh
> +++ b/t/t0002-gitfile.sh
> @@ -99,7 +99,7 @@ test_expect_success 'check rev-list' '
> test "$SHA" = "$(git rev-list HEAD)"
> '
>
> -test_expect_success 'setup_git_dir twice in subdir' '
> +test_expect_failure 'setup_git_dir twice in subdir' '
> git init sgd &&
> (
> cd sgd &&