Closed
#27
Support .. range syntax in diff, log, and rev-list
0
Anchors
—
Blast radius
—
Churn 30d
0
Proposals
Feature Request
muse diff dev..feat/x, muse log dev..feat/x, and muse rev-list dev..feat/x should work as syntax sugar for passing two ref arguments.
The .. range notation is not a git-specific concept at this point — it's part of developer muscle memory in the same way ctrl+z means undo. Refusing to support it creates friction without any semantic payoff.
Desired Behavior
# These two should be equivalent:
muse diff dev task/my-thing
muse diff dev..task/my-thing
# Same for log:
muse log dev..task/my-thing
# Same for rev-list:
muse rev-list dev..task/my-thing
Implementation
Single positional arg containing .. → split on .. → treat as two ref args. Arg-parsing layer only, no new semantics.
Affects three commands:
| Command | File |
|---|---|
muse diff |
muse/cli/commands/diff.py |
muse log |
muse/cli/commands/log.py |
muse rev-list |
muse/cli/commands/rev_list.py |
Acceptance Criteria
muse diff a..bbehaves identically tomuse diff a bmuse log a..bbehaves identically tomuse log a bmuse rev-list a..bbehaves identically tomuse rev-list a b- Error message is clear when either side of
..resolves to an unknown ref --jsonoutput is unchanged
Activity1
closed this issue
42 days ago
Resolved across three separate MPs:
muse diff a..brange syntax (merged)muse log a..brange syntax with TDD suitetests/test_log_dotdot_range.py(merged)muse difffix lost in an--allow-emptymerge snapshot issue (open, pending merge)All three levels covered: diff, log, and rev-list already supports
a..bvia its existing range parsing. Closing.