`/diff` branch mode: allow selecting the base branch
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
### Describe the feature or problem you'd like to solve
When using `/diff` in branch mode, the base branch is auto-detected as the default branch of the tracking remote (e.g., `origin/main` ). There's no way to override this - if your branch was cut from something other than the default branch, the diff includes noise from the parent branch rather than just your changes.
### Proposed solution
Allow specifying a base branch when using branch diff mode - e.g., a text input when selecting "Branch diff", or a parameter like `/diff base=feature/xyz` . This would let users diff against any branch, not just the remote default.
### Example prompts or workflows
- Working on a branch cut from `feature/parent` - want to see only changes since that branch, not since `main`
- Comparing work against a release branch rather than the repo default
### Additional context
_No response_
Contributor guide
Research direction
Start at the `/diff` command's branch-mode entry point and trace how it selects the tracking remote's default branch. Add a way to supply an alternate base branch, then verify that branch diffs compare against the selected branch and exclude changes inherited from the parent branch.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 64/100