- Add JSONL-only mode detection in ensureStoreActive() with context-aware error messages that suggest correct actions based on project state - Improve error messages in main.go to detect JSONL presence and suggest appropriate solutions (bd init, --no-db flag, or config.yaml setting) - Update documentation to use issues.jsonl as canonical filename: - AGENT_INSTRUCTIONS.md, README.md, resolve-beads-conflict.md - docs/GIT_INTEGRATION.md - Update hook template comments to clarify issues.jsonl is canonical while maintaining backward compatibility for beads.jsonl Fixes #534 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1.8 KiB
1.8 KiB
description
| description |
|---|
| How to resolve merge conflicts in .beads/issues.jsonl |
Resolving issues.jsonl Merge Conflicts
If you encounter a merge conflict in .beads/issues.jsonl that doesn't have standard git conflict markers (or if bd merge failed automatically), follow this procedure.
1. Identify the Conflict
Check if issues.jsonl is in conflict:
git status
2. Extract the 3 Versions
Git stores three versions of conflicted files in its index:
- Base (common ancestor)
- Ours (current branch)
- Theirs (incoming branch)
Extract them to temporary files:
git show :1:.beads/issues.jsonl > beads.base.jsonl
git show :2:.beads/issues.jsonl > beads.ours.jsonl
git show :3:.beads/issues.jsonl > beads.theirs.jsonl
3. Run bd merge Manually
Run the bd merge tool manually with the --debug flag to see what's happening.
Syntax: bd merge <output> <base> <ours> <theirs>
bd merge beads.merged.jsonl beads.base.jsonl beads.ours.jsonl beads.theirs.jsonl --debug
4. Verify the Result
Check the output of the command.
- Exit Code 0: Success.
beads.merged.jsonlcontains the clean merge. - Exit Code 1: Conflicts remain.
beads.merged.jsonlwill contain conflict markers. You must edit it manually to resolve them.
Optionally, verify the content (e.g., check for missing IDs if you suspect data loss).
5. Apply the Merge
Overwrite the conflicted file with the resolved version:
cp beads.merged.jsonl .beads/issues.jsonl
6. Cleanup and Continue
Stage the resolved file and continue the merge:
git add .beads/issues.jsonl
git merge --continue
7. Cleanup Temporary Files
rm beads.base.jsonl beads.ours.jsonl beads.theirs.jsonl beads.merged.jsonl