Re: [PATCH v2] worktree: add: fix 'post-checkout' not knowing new worktree location
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Feb 15, 2018, 21:27 UTC
- Message-ID
- <20180215212751.GA42108@flurp.local>
- In-Reply-To
- <xmqqh8qi7z7o.fsf@gitster-ct.c.googlers.com>
On Thu, Feb 15, 2018 at 12:52:11PM -0800, Junio C Hamano wrote:
Show 15 quoted lines
> Eric Sunshine <sunshine@sunshineco.com> 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?