Enable reverse comparing between branches
- Dominant language
- Rust
- Stars
- 22.5k
- Forks
- 773
- PR merge metrics
- No merged PRs in 30d
Description
**Is your feature request related to a problem? Please describe.**
Currently (as far as I can tell) the compare function always shows the diffs with the branch that is currently checked out. This means that to see the diffs as they would in a PR, you have to checkout the branch you are merging to, instead of the one you are working on. As I like to see the PR I'm about to submit before committing/opening the PR, this is something I do fairly regularly and having to switch branches to do it is somewhat awkward.
**Describe the solution you'd like**
An option to flip the base of the diff when viewing patches.
**Describe alternatives you've considered**
- A shortcut to switch branches but that wouldn't really work in you don't have a clean working tree, which is most of the time in my experience.
- Changing the default to be flipped compared to what it is now, but this would be a breaking change compared to what it is now and I'm not sure how many people this would piss off. I guess this might be an option if the extra option is not desirable, but it seems a little excessive to me.
**Additional context**
Sounds like a not too complicated feature although I'm not familiar with the code base. If there is interest in this feature and someone willing to help guide/review work a little bit, I'd be open to making a PR for this myself.
Contributor guide
Research direction
Start by locating the compare function and patch-viewing entry point, then trace how the checked-out branch becomes the diff base. Done means an explicit option flips that base without requiring a branch switch; add or update coverage if the existing compare behavior has tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, rust
- Domain
- cli, devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100