feat(reflog): Phase 5 — @{N} ref resolution (RL_21–RL_27)
- Add resolve_reflog_ref(spec, repo_root) to muse/core/reflog.py - Accepts @{N}, branch@{N}, refs/heads/branch@{N} - Returns new_id from the matching reflog entry (newest-first index) - Raises FileNotFoundError when log file missing - Raises IndexError(index, total) when index out of range - Inject @{N} resolution into resolve_commit_ref in muse/core/commits.py - Checked before tilde/branch/SHA resolution - Returns None on FileNotFoundError or IndexError (callers emit USER_ERROR) - Enables: muse reset @{N}, muse read @{N}, muse diff @{N} HEAD - Inject @{N} resolution into muse rev-parse with USER_ERROR messages (RL_25) - FileNotFoundError → 'no reflog for this ref' - IndexError → '@{N} out of range; valid range: 0–M' - 33 new tests; 133/133 across all reflog+GC test files; 44 rev-parse tests green
Semantic Changes
66 symbols
0 comments
muse hub commit comment sha256:c954eb58546fafefa25622da689a6cd146a5a4efa32601a3ba81cd30620e74e8 --body "your comment"
No comments yet. Be the first to start the discussion.