On Thu, Feb 15, 2018 at 12:52:11PM -0800, Junio C Hamano wrote: > Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes: > > test_expect_success '"add" invokes post-checkout hook (branch)' ' > > post_checkout_hook && > > - printf "%s %s 1\n" $_z40 $(git rev-parse HEAD) >hook.expect && > > + { > > + echo $_z40 $(git rev-parse HEAD) 1 && > > + echo $(pwd)/.git/worktrees/gumby && > > + echo $(pwd)/gumby > > + } >hook.expect && > > git worktree add gumby && > > - test_cmp hook.expect hook.actual > > + test_cmp hook.expect gumby/hook.actual > > ' > > This seems to segfault on me, without leaving hook.actual anywhere. I'm unable to reproduce the segfault, but I'm guessing it's because I'm a dummy. Can you squash in the following and retry? --- >8 --- diff --git a/builtin/worktree.c b/builtin/worktree.c index 604a0292b0..f69f862947 100644 --- a/builtin/worktree.c +++ b/builtin/worktree.c @@ -348,7 +348,7 @@ static int add_worktree(const char *path, const char *refname, if (!ret && opts->checkout) { const char *hook = find_hook("post-checkout"); if (hook) { - const char *env[] = { "GIT_DIR", "GIT_WORK_TREE" }; + const char *env[] = { "GIT_DIR", "GIT_WORK_TREE", NULL }; cp.git_cmd = 0; cp.no_stdin = 1; cp.stdout_to_stderr = 1; --- >8 --- If that fixes it, can you squash it locally or should I re-send?