Re: [PATCH] Revert "setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR"
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:07:32
Nguyễn Thái Ngọc Duy [off-list ref] writes:
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 <redacted> --- On Thu, Dec 3, 2015 at 12:09 AM, Junio C Hamano [off-list ref] 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.
quoted hunk
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 &&