Resolving Beads Merge Conflicts
beads.jsonl Conflicts
If bd merge driver fails during rebase/merge, resolve manually:
bash
# Extract the 3 versions 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 # Run bd merge manually with debug bd merge beads.merged.jsonl beads.base.jsonl beads.ours.jsonl beads.theirs.jsonl --debug # Exit code 0 = success, exit code 1 = manual resolution needed # Apply and continue cp beads.merged.jsonl .beads/issues.jsonl git add .beads/issues.jsonl rm beads.*.jsonl git rebase --continue
metadata.json Conflicts
The metadata.json file is derived/regenerable. For conflicts:
bash
git checkout --ours .beads/metadata.json # either side works git add .beads/metadata.json bd sync --import-only # regenerates from jsonl git rebase --continue
Binary DB Files
If .beads/beads.db or related files conflict:
bash
git checkout --ours .beads/beads.db .beads/beads.db-shm .beads/beads.db-wal 2>/dev/null git add .beads/ bd sync --import-only git rebase --continue
Key Rules
- •NEVER skip beads-related commits during rebase
- •NEVER use
git rebase --skipfor beads conflicts - •The JSONL is source of truth, everything else is derived
- •Always run
bd sync --import-onlyafter resolving conflicts