You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Feature idea: diff a branch/worktree against a base branch (merge-base) via the compare view #2996
Bind v to open the existing compare-commits view for a branch (or worktree) against a base branch, diffed from their merge-base (three-dot, base...HEAD) so it shows only that branch's own changes — a PR-style "what did this branch change" review. No new popup or tab: it reuses CompareCommitsPopup unchanged.
Motivation
The Branches popup already has Shift+C ("Compare"), but that's a tip-to-tip (two-dot) diff of the selected branch vs HEAD, so it includes commits the base gained after the fork point (and reads in the opposite direction). A merge-base diff answers the "what has my branch changed relative to X" question directly, the way a PR diff reads.
What it adds
One key, v (diff_base); the base varies by context, always merge-base:
Global v — current branch (HEAD) vs the repo's base branch (auto-resolved: main/master/origin/*).
Branches popup v ("Diff since branch-point") — current branch vs the highlighted branch (an arbitrary base). Sits next to the existing Shift+C ("Compare"); the distinct labels keep the two clear.
Worktrees popup v — the selected worktree's branch vs the base branch, without switching into it.
Backend is a small asyncgitbranch_diff module (merge_base, resolve_base_branch, diff_range_vs_base, diff_range_vs_ref). The triggers just resolve two commit ids and push the existing OpenPopup(CompareCommits(...)).
Worktree touch-point (heads-up)
The Worktrees-popup v is built on a worktree-management popup that isn't upstream yet — proposed separately in #2995. So that surface can't land independently: a PR against current master would be global v + Branches-popup v only, with the worktree surface following if/after #2995 lands.
Questions
Is this something you'd want as a PR?
If so, preferred scope — just the global "diff current branch vs main" v, or also the Branches-popup v (given the Shift+C overlap)?
Any preference on the key (v) or the command naming?
Activity