Re: Running 'git worktree add' in 'pre-commit' hook
- Date: Thu, 16 May 2019 18:41:51 +0700
- From: Duy Nguyen <pclouds@xxxxxxxxx>
- Subject: Re: Running 'git worktree add' in 'pre-commit' hook
On Thu, May 16, 2019 at 6:33 PM Eric Sunshine <sunshine@xxxxxxxxxxxxxx> wrote:
> I researched this also and concluded that it's a bug in git-commit.
> You run afoul of it in other situations, as well. For instance, say
> you have your index file in a non-standard location:
> $ export GIT_INDEX_FILE=../storage/index
> $ git worktree add --detach other
> Preparing worktree (detached HEAD c9156d2)
> fatal: Unable to create '/.../foo/other/../storage/index.lock': No
> such file or directory
> I think the correct fix is for git-commit to assign GIT_INDEX_FILE
> with the absolute path to the index file, not a relative path.
Oh if it's relative $GIT_INDEX_FILE then I think its our environment.c
code that does not work so well when we chdir() away. I vaguely recall
something about this when discussing Jeff's chdir-notify series. But
it turns out that's about chdir() in run-command.c . But the idea
is still the same, all variables are supposed to be relative to $CWD.
Whenever you move $CWD you should reparent all of them, including