Remove collision-era language from docs and code

- Updated FAQ.md, ADVANCED.md, TROUBLESHOOTING.md to explain hash IDs eliminate collisions
- Removed --resolve-collisions references from all documentation and examples
- Renamed handleCollisions() to detectUpdates() to reflect update semantics
- Updated test names: TestAutoImportWithCollision → TestAutoImportWithUpdate
- Clarified: with hash IDs, same-ID = update operation, not collision

Closes: bd-50a7, bd-b84f, bd-bda8, bd-650c, bd-3ef2, bd-c083, bd-85a6
This commit is contained in:
Steve Yegge
2025-10-31 14:24:50 -07:00
parent b9b1b162d1
commit d5488cb97f
10 changed files with 88 additions and 81 deletions
+11 -6
View File
@@ -187,19 +187,24 @@ bd import -i .beads/issues.jsonl # Sync to SQLite
See [ADVANCED.md](ADVANCED.md) for detailed merge strategies.
### ID collisions after branch merge
### Git merge conflicts in JSONL
When merging branches where different issues were created with the same ID:
**With hash-based IDs (v0.20.1+), ID collisions don't occur.** Different issues get different hash IDs.
If git shows a conflict in `.beads/issues.jsonl`, it's because the same issue was modified on both branches:
```bash
# Check for collisions
# Preview what will be updated
bd import -i .beads/issues.jsonl --dry-run
# Automatically resolve collisions
bd import -i .beads/issues.jsonl --resolve-collisions
# Resolve git conflict (keep newer version or manually merge)
git checkout --theirs .beads/issues.jsonl # Or --ours, or edit manually
# Import updates the database
bd import -i .beads/issues.jsonl
```
See [ADVANCED.md#handling-import-collisions](ADVANCED.md#handling-import-collisions) for details.
See [ADVANCED.md#handling-git-merge-conflicts](ADVANCED.md#handling-git-merge-conflicts) for details.
### Permission denied on git hooks