Description
Similar use case to #429, but not quite.
When reviewing a change I like to look at the workspace diff between the current feature branch (= HEAD) and the last commit in the base branch before the feature branch was branched off. I.e. I want to get a diffview containing all changes that have been done in that feature branch.
So in my case the preferred variant of this feature would be a actions.open_in_diffview
variant that diffs HEAD..<commit under cursor>
.
Being able to diff a selected range of commits as described in #429 would cover that for the easier cases (straight branch history), but in cases when there is an intermediate merge from the base branch into the feature branch I need to get the differences between HEAD and the commit in the base branch just before it was merged into the feature branch.
Example:
feature/x M--N--O--P--Q
/ /
base A--B--C--D--E--F--G--H
Here M is the first commit of the feature branch and O is a merge commit (base into feature). Now I want to get the diff between Q (=HEAD) and E (the commit that contains everything that the feature branch contains, except the changes done in that branch).
This should actually be quite a bit simpler to implement than the "diff in commits M, N, P, Q" as described in #429.