post-checkout hook: guard with if + force exit 0 (worktree-safe)
The pql post-checkout hook is untracked (local `pql init` install), so a fresh `git worktree add` has none — and `[ -f x ] && . x` returns 1 when absent (the script's last statement), which worktree add propagates as a hard failure. Use an if-guard and always exit 0: post-checkout is best-effort and must never abort a checkout / worktree creation. (Worth reporting upstream to pql.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
#!/bin/sh
|
||||
# pql: source .pql/hooks/post-checkout (rebuild pql.db on branch checkout).
|
||||
# Guard on existence so a fresh `git worktree add` — whose toplevel has no
|
||||
# .pql/hooks yet — doesn't abort the checkout (the hook is best-effort).
|
||||
# The pql hook is untracked (a local `pql init` install), so a fresh
|
||||
# `git worktree add` has no .pql/hooks — source it only when present, and
|
||||
# always exit 0: post-checkout is best-effort and must never abort the
|
||||
# checkout / worktree creation.
|
||||
hook="$(git rev-parse --show-toplevel)/.pql/hooks/post-checkout"
|
||||
[ -f "$hook" ] && . "$hook"
|
||||
if [ -f "$hook" ]; then . "$hook"; fi
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user