On Thu, Mar 29, 2018 at 08:01:33PM +0200, Duy Nguyen wrote: > > I do kind of like that. I'm reasonably happy with the chdir_notify() > > interface, but it would be nicer still if we could get rid of it in the > > first place. It's true that we _could_ chdir from other places, but > > There's another place we do, that I should mention and keep > forgetting. Our run-command.c code allows to switch cwd, and if > $GIT_DIR and stuff is relative then we should reparent them too just > like we do with setup_work_tree(). Your chdir-notify makes it super > easy to support that, we just need to move the prep_childenv() down > below chdir(). But since nobody has complaint, I suppose that feature > is not really popular (or at least not used to launch another git > process anyway) Yeah, I hadn't really considered that, since it would only matter for environment variables, not for internal strings (which are all about to get thrown out due to execve anyway). And my patch was just focusing on that. But I also wonder if rewriting the environment variables would matter here. If we're going to chdir for a child, we'd generaly be clearing repo-related env anyway. -Peff