AgentSkillsCN

Resolving Beads Merge Conflicts

解决Beads合并冲突

SKILL.md

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 --skip for beads conflicts
  • The JSONL is source of truth, everything else is derived
  • Always run bd sync --import-only after resolving conflicts