Merge branch 'main' of https://github.com/steveyegge/beads
This commit is contained in:
@@ -48,14 +48,57 @@ if [ -n "$FILES" ]; then
|
||||
echo "❌ Error: Beads JSONL has uncommitted changes" >&2
|
||||
echo "" >&2
|
||||
echo "You made changes to bd issues between your last commit and this push." >&2
|
||||
echo "Please commit the updated JSONL before pushing:" >&2
|
||||
echo "" >&2
|
||||
# shellcheck disable=SC2086
|
||||
echo " git add $FILES" >&2
|
||||
echo ' git commit -m "Update bd JSONL"' >&2
|
||||
echo " git push" >&2
|
||||
echo "" >&2
|
||||
exit 1
|
||||
|
||||
# Check if bd is available and offer auto-sync
|
||||
if command -v bd >/dev/null 2>&1; then
|
||||
# Check if we're in an interactive terminal
|
||||
if [ -t 0 ]; then
|
||||
echo "Would you like to run 'bd sync' now to commit and push these changes? [y/N]" >&2
|
||||
read -r response
|
||||
case "$response" in
|
||||
[yY][eE][sS]|[yY])
|
||||
echo "" >&2
|
||||
echo "Running: bd sync" >&2
|
||||
if bd sync; then
|
||||
echo "" >&2
|
||||
echo "✓ Sync complete. Continuing with push..." >&2
|
||||
exit 0
|
||||
else
|
||||
echo "" >&2
|
||||
echo "❌ Sync failed. Push aborted." >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "" >&2
|
||||
echo "Push aborted. Run 'bd sync' manually when ready:" >&2
|
||||
echo "" >&2
|
||||
echo " bd sync" >&2
|
||||
echo " git push" >&2
|
||||
echo "" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
# Non-interactive: just show the message
|
||||
echo "Run 'bd sync' to commit these changes:" >&2
|
||||
echo "" >&2
|
||||
echo " bd sync" >&2
|
||||
echo "" >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
# bd not available, fall back to manual git commands
|
||||
echo "Please commit the updated JSONL before pushing:" >&2
|
||||
echo "" >&2
|
||||
# shellcheck disable=SC2086
|
||||
echo " git add $FILES" >&2
|
||||
echo ' git commit -m "Update bd JSONL"' >&2
|
||||
echo " git push" >&2
|
||||
echo "" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
1300
.beads/beads.jsonl
1300
.beads/beads.jsonl
File diff suppressed because one or more lines are too long
@@ -1,8 +1,5 @@
|
||||
# Tests to skip due to known issues
|
||||
# Format: one test name per line (regex patterns supported)
|
||||
|
||||
# Issue #355: Deadlocks with database mutex during cleanup
|
||||
TestFallbackToDirectModeEnablesFlush
|
||||
|
||||
# Issue #356: Expects wrong JSONL filename (issues.jsonl vs beads.jsonl)
|
||||
TestFindJSONLPathDefault
|
||||
|
||||
@@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Improved
|
||||
|
||||
- **Git Pre-Push Hook**: Better error messaging and auto-sync option
|
||||
- Error message now suggests `bd sync` instead of manual git commands
|
||||
- Interactive prompt offers to run `bd sync` automatically
|
||||
- Falls back to manual instructions in non-interactive terminals or when bd is unavailable
|
||||
- Improves user experience when beads JSONL has uncommitted changes
|
||||
|
||||
## [0.24.2] - 2025-11-22
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -780,7 +780,7 @@ For advanced usage, see:
|
||||
|
||||
### Third-Party Tools
|
||||
|
||||
- **[Beadster](https://apps.apple.com/us/app/beadster-issue-tracking/id6754286462)** - Native macOS app for viewing and managing bd issues across multiple projects. Features a compact, always-on-top window for quick reference during development. Built by [@podviaznikov](https://github.com/podviaznikov).
|
||||
- **[beads-ui](https://github.com/mantoni/beads-ui)** - Local web interface with live updates, kanban board, and keyboard navigation. Zero-setup launch with `npx beads-ui start`. Built by [@mantoni](https://github.com/mantoni).
|
||||
|
||||
Have you built something cool with bd? [Open an issue](https://github.com/steveyegge/beads/issues) to get it featured here!
|
||||
|
||||
|
||||
@@ -48,14 +48,57 @@ if [ -n "$FILES" ]; then
|
||||
echo "❌ Error: Beads JSONL has uncommitted changes" >&2
|
||||
echo "" >&2
|
||||
echo "You made changes to bd issues between your last commit and this push." >&2
|
||||
echo "Please commit the updated JSONL before pushing:" >&2
|
||||
echo "" >&2
|
||||
# shellcheck disable=SC2086
|
||||
echo " git add $FILES" >&2
|
||||
echo ' git commit -m "Update bd JSONL"' >&2
|
||||
echo " git push" >&2
|
||||
echo "" >&2
|
||||
exit 1
|
||||
|
||||
# Check if bd is available and offer auto-sync
|
||||
if command -v bd >/dev/null 2>&1; then
|
||||
# Check if we're in an interactive terminal
|
||||
if [ -t 0 ]; then
|
||||
echo "Would you like to run 'bd sync' now to commit and push these changes? [y/N]" >&2
|
||||
read -r response
|
||||
case "$response" in
|
||||
[yY][eE][sS]|[yY])
|
||||
echo "" >&2
|
||||
echo "Running: bd sync" >&2
|
||||
if bd sync; then
|
||||
echo "" >&2
|
||||
echo "✓ Sync complete. Continuing with push..." >&2
|
||||
exit 0
|
||||
else
|
||||
echo "" >&2
|
||||
echo "❌ Sync failed. Push aborted." >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "" >&2
|
||||
echo "Push aborted. Run 'bd sync' manually when ready:" >&2
|
||||
echo "" >&2
|
||||
echo " bd sync" >&2
|
||||
echo " git push" >&2
|
||||
echo "" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
# Non-interactive: just show the message
|
||||
echo "Run 'bd sync' to commit these changes:" >&2
|
||||
echo "" >&2
|
||||
echo " bd sync" >&2
|
||||
echo "" >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
# bd not available, fall back to manual git commands
|
||||
echo "Please commit the updated JSONL before pushing:" >&2
|
||||
echo "" >&2
|
||||
# shellcheck disable=SC2086
|
||||
echo " git add $FILES" >&2
|
||||
echo ' git commit -m "Update bd JSONL"' >&2
|
||||
echo " git push" >&2
|
||||
echo "" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
@@ -48,14 +48,57 @@ if [ -n "$FILES" ]; then
|
||||
echo "❌ Error: Beads JSONL has uncommitted changes" >&2
|
||||
echo "" >&2
|
||||
echo "You made changes to bd issues between your last commit and this push." >&2
|
||||
echo "Please commit the updated JSONL before pushing:" >&2
|
||||
echo "" >&2
|
||||
# shellcheck disable=SC2086
|
||||
echo " git add $FILES" >&2
|
||||
echo ' git commit -m "Update bd JSONL"' >&2
|
||||
echo " git push" >&2
|
||||
echo "" >&2
|
||||
exit 1
|
||||
|
||||
# Check if bd is available and offer auto-sync
|
||||
if command -v bd >/dev/null 2>&1; then
|
||||
# Check if we're in an interactive terminal
|
||||
if [ -t 0 ]; then
|
||||
echo "Would you like to run 'bd sync' now to commit and push these changes? [y/N]" >&2
|
||||
read -r response
|
||||
case "$response" in
|
||||
[yY][eE][sS]|[yY])
|
||||
echo "" >&2
|
||||
echo "Running: bd sync" >&2
|
||||
if bd sync; then
|
||||
echo "" >&2
|
||||
echo "✓ Sync complete. Continuing with push..." >&2
|
||||
exit 0
|
||||
else
|
||||
echo "" >&2
|
||||
echo "❌ Sync failed. Push aborted." >&2
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "" >&2
|
||||
echo "Push aborted. Run 'bd sync' manually when ready:" >&2
|
||||
echo "" >&2
|
||||
echo " bd sync" >&2
|
||||
echo " git push" >&2
|
||||
echo "" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
else
|
||||
# Non-interactive: just show the message
|
||||
echo "Run 'bd sync' to commit these changes:" >&2
|
||||
echo "" >&2
|
||||
echo " bd sync" >&2
|
||||
echo "" >&2
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
# bd not available, fall back to manual git commands
|
||||
echo "Please commit the updated JSONL before pushing:" >&2
|
||||
echo "" >&2
|
||||
# shellcheck disable=SC2086
|
||||
echo " git add $FILES" >&2
|
||||
echo ' git commit -m "Update bd JSONL"' >&2
|
||||
echo " git push" >&2
|
||||
echo "" >&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user