On Mon, Feb 12, 2018 at 11:42 PM, Eric Sunshine <sunshine@xxxxxxxxxxxxxx> wrote: > So, either approach works: removing GIT_DIR or using "worktree add"'s > existing GIT_DIR and GIT_WORK_TREE. I favor the latter since it is > consistent with how "worktree add" invokes other command already and, > especially, because it also addresses the issue Junio raised of > user-defined GIT_DIR/GIT_WORK_TREE potentially polluting the hook's > environment. Just to be clear: Regardless of which fix is used, we still want to chdir() to the new worktree to guarantee that the directory in which the 'post-checkout' hook is run is predictable. In the re-roll, I'm going with the latter approach of re-using builtin/worktree.c's existing GIT_DIR/GIT_WORK_TREE which it already exports to other commands it invokes.