fix(hooks): Route hook templates to Dolt-aware implementations
- Fix infinite recursion bug in computeJSONLHashForHook (was calling
itself instead of computeJSONLHash)
- Update pre-commit, post-merge, post-checkout templates to use
`bd hook <name>` instead of `bd hooks run <name>`, routing to the
Dolt-aware implementations in hook.go
- Update all hook template versions to 0.48.0 for consistency
The hook infrastructure added in 15d74a9a had a critical bug where
the hash computation function recursed infinitely, and the templates
still pointed to the old hook implementations in hooks.go instead
of the new Dolt-aware ones in hook.go.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
committed by
gastown/crew/dennis
parent
d05f7cee8f
commit
fc19a94ad9
@@ -129,7 +129,7 @@ func saveExportState(beadsDir, worktreeRoot string, state *ExportState) error {
|
|||||||
// computeJSONLHashForHook computes a hash of the JSONL file contents for hook state tracking.
|
// computeJSONLHashForHook computes a hash of the JSONL file contents for hook state tracking.
|
||||||
// This is a wrapper around computeJSONLHash that handles missing files gracefully.
|
// This is a wrapper around computeJSONLHash that handles missing files gracefully.
|
||||||
func computeJSONLHashForHook(jsonlPath string) (string, error) {
|
func computeJSONLHashForHook(jsonlPath string) (string, error) {
|
||||||
hash, err := computeJSONLHashForHook(jsonlPath)
|
hash, err := computeJSONLHash(jsonlPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if os.IsNotExist(err) {
|
if os.IsNotExist(err) {
|
||||||
return "", nil
|
return "", nil
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
# bd-shim v1
|
# bd-shim v1
|
||||||
# bd-hooks-version: 0.47.2
|
# bd-hooks-version: 0.48.0
|
||||||
#
|
#
|
||||||
# bd (beads) post-checkout hook - thin shim
|
# bd (beads) post-checkout hook - thin shim
|
||||||
#
|
#
|
||||||
# This shim delegates to 'bd hooks run post-checkout' which contains
|
# This shim delegates to 'bd hook post-checkout' which contains
|
||||||
# the actual hook logic. This pattern ensures hook behavior is always
|
# the actual hook logic. This pattern ensures hook behavior is always
|
||||||
# in sync with the installed bd version - no manual updates needed.
|
# in sync with the installed bd version - no manual updates needed.
|
||||||
|
|
||||||
@@ -14,4 +14,4 @@ if ! command -v bd >/dev/null 2>&1; then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exec bd hooks run post-checkout "$@"
|
exec bd hook post-checkout "$@"
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
# bd-shim v1
|
# bd-shim v1
|
||||||
# bd-hooks-version: 0.47.2
|
# bd-hooks-version: 0.48.0
|
||||||
#
|
#
|
||||||
# bd (beads) post-merge hook - thin shim
|
# bd (beads) post-merge hook - thin shim
|
||||||
#
|
#
|
||||||
# This shim delegates to 'bd hooks run post-merge' which contains
|
# This shim delegates to 'bd hook post-merge' which contains
|
||||||
# the actual hook logic. This pattern ensures hook behavior is always
|
# the actual hook logic. This pattern ensures hook behavior is always
|
||||||
# in sync with the installed bd version - no manual updates needed.
|
# in sync with the installed bd version - no manual updates needed.
|
||||||
|
|
||||||
@@ -16,4 +16,4 @@ if ! command -v bd >/dev/null 2>&1; then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exec bd hooks run post-merge "$@"
|
exec bd hook post-merge "$@"
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
# bd-shim v1
|
# bd-shim v1
|
||||||
# bd-hooks-version: 0.47.2
|
# bd-hooks-version: 0.48.0
|
||||||
#
|
#
|
||||||
# bd (beads) pre-commit hook - thin shim
|
# bd (beads) pre-commit hook - thin shim
|
||||||
#
|
#
|
||||||
# This shim delegates to 'bd hooks run pre-commit' which contains
|
# This shim delegates to 'bd hook pre-commit' which contains
|
||||||
# the actual hook logic. This pattern ensures hook behavior is always
|
# the actual hook logic. This pattern ensures hook behavior is always
|
||||||
# in sync with the installed bd version - no manual updates needed.
|
# in sync with the installed bd version - no manual updates needed.
|
||||||
|
|
||||||
@@ -16,4 +16,4 @@ if ! command -v bd >/dev/null 2>&1; then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exec bd hooks run pre-commit "$@"
|
exec bd hook pre-commit "$@"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
# bd-shim v1
|
# bd-shim v1
|
||||||
# bd-hooks-version: 0.47.2
|
# bd-hooks-version: 0.48.0
|
||||||
#
|
#
|
||||||
# bd (beads) pre-push hook - thin shim
|
# bd (beads) pre-push hook - thin shim
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
# bd-shim v1
|
# bd-shim v1
|
||||||
# bd-hooks-version: 0.41.0
|
# bd-hooks-version: 0.48.0
|
||||||
#
|
#
|
||||||
# bd (beads) prepare-commit-msg hook - thin shim
|
# bd (beads) prepare-commit-msg hook - thin shim
|
||||||
#
|
#
|
||||||
|
|||||||
Reference in New Issue
Block a user