Steve Yegge
|
79b7a48a73
|
Add database fingerprinting and validation (bd-166)
- Add fingerprint.go with robust URL canonicalization
- Handles git@, ssh://, https://, http://, file://, and local paths
- Normalizes URLs to produce consistent repo_id across formats
- Clone ID uses git repo root for stability
- Update init.go to store repo_id and clone_id metadata
- repo_id: SHA256 hash of canonical git remote URL
- clone_id: SHA256 hash of hostname + repo root path
- Add daemon validation to prevent database mismatches
- Validates repo_id on daemon start
- Fails on legacy databases (requires explicit migration)
- Clear error messages with actionable solutions
- Add migrate --update-repo-id command
- Updates repo_id after remote URL changes
- Confirmation prompt (can bypass with --yes)
- Supports --dry-run
Prevents accidental database mixing across repos and provides
migration path for remote URL changes or bd upgrades.
Closes bd-166
Amp-Thread-ID: https://ampcode.com/threads/T-a9d9dab1-5808-4f62-93ea-75a16cca978b
Co-authored-by: Amp <amp@ampcode.com>
|
2025-10-26 21:15:57 -07:00 |
|