gabriel / muse public
feat patch task/range-diff #1 / 1
gabriel · 62 days ago · Apr 14, 2026 · Diff

feat: implement muse range-diff — compare two versions of a commit series

- Walk both commit ranges (base..old, base..new) using exclude-set BFS - Compute patch-ids in parallel via ThreadPoolExecutor (reuses patch-id algorithm from patch_id.py) - Pair series: exact patch-id match → equivalent; positional fallback → changed; leftovers → dropped/added - --creation-factor controls fuzzy pairing aggressiveness (0.0 = exact only, 1.0 = all positional) - --stable strips trailing whitespace before hashing - JSON output: {pairs, trivially_equivalent, old_range, new_range}; each pair has {old, new, status} - Text output: =equiv !changed <dropped >added sigils - Exit 0 iff trivially_equivalent; exit 1 on any diff; exit 2 on bad refs/ANSI - 24 tests: range parsing, pairing logic, JSON schema, text output, creation-factor, error cases, ANSI rejection, 50-commit stress

sha256:3901a2aacd1ddbab847e38d54e4439a3e1b5acf2949e4de1b7c3d4eadcf445a0 sha
sha256:402ffccce16dbe4ab1096eb6d6627227a14094fd6e68938f13a60c497244b719 snapshot
← Older Oldest on task/range-diff
All commits
Newer → Latest on task/range-diff

0 comments

No comments yet. Be the first to start the discussion.

To add a comment, use the Muse CLI: muse hub commit comment sha256:3901a2aacd1ddbab847e38d54e4439a3e1b5acf2949e4de1b7c3d4eadcf445a0 --body "your comment"