On Thu, May 16, 2019 at 09:02:06PM -0400, Eric Sunshine wrote:

> On Thu, May 16, 2019 at 8:19 PM Jeff King <p...@peff.net> wrote:
> > On Thu, May 16, 2019 at 07:16:54PM -0400, Eric Sunshine wrote:
> > > Is there
> > > any existing code in Git for doing the relative fixups you mention for
> > > other Git environment variables?
> >
> > You can assign local_repo_env to child_process.env (or push it
> > individually to env_array if you have to mix with other variables). See
> > git_connect() for an example.
> 
> I wasn't aware of 'local_repo_env', but can see how it could be
> helpful as a basis for building machinery to adjust relative paths
> contained in those environment variables prior to a chdir(). My
> original question was if such machinery already exists, but I'm
> guessing from your response that it doesn't.

Oh, I see. I totally missed that you said "relative fixups" and not
"clearing". :)

There's the chdir_notify system. Any variables which need updating need
to register themselves, and then the chdir in the worktree code needs to
be done with chdir_notify(). See chdir-notify.h for details.

-Peff

Reply via email to