Highlight commits/branch lines of when selecting a merge commit
Problem description
I am often reviewing merge commits (and do not necessarily have those checked out). It'd be helpful to have a visual indicator to see which commits are in the history of the currently selected merge commit would help to distinguish them from others on not yet merged branches. Hiding all other branches is a possible workaround, but not very comfortable.
Preferred solution
When clicking on a merge commit, add a visualization. A visual indicator could be (in the commit section):
- coloring the branch lines starting from the merge commit (maybe until the root or until the initial commit).
- changing the background color of all parent commits slightly
- a colored, thicker border on the right side of a commit "row" (to the right of the commit time). Of course without always re-aligning/moving the time text
That'd allow to read the commit messages and the eyes wouldn't have to look on which branch the commit is by scanning the branch lines and search the commit dot while remembering which color the branches had that you are following.
Alternatives
This could also be the default, not only when clicking a merge commit but for all commits. Always show "this commit is a in the history of the selected commit".
I would like to see a slightly different option for this as well, and that is to just show only the commits that are within a merge commit within the "commits" panel.
Basically a sublime-merge version of:
git log <merge commithash>^..<merge commithash>
so that only those commits are displayed.
A sample use case is viewing the Linux Kernel repo. Almost all of the commits in the main branch are merges. The current view of expanding a merge will show the commits, but they are often spread far apart in the view that it's difficult to get a good view of just those commits because of the number of other merge commits.
To illustrate the current view of trying to see what is in one merge commit within the linux kernel repo. There are only 4 commits in the merge, but it requires scrolling to view all of them.