+4

Allow collapsing the commit graph commits vertically

griscom 2 years ago updated by yfede 1 month ago 2

I'm working with a big project with multiple contributors and several dozen branches. At times I need to figure out where a specific branch came from, and how it relates to the other branches, but it's hard when I'm scrolling, scrolling, scrolling to get past all the individual commits.

Suggestion: have a way of collapsing the graph display vertically, so that I can see more of the structure without scrolling. Some possibilities:

  • If a range of commits are selected, then right-click to show a "Collapse" item, which collapses the commits into a single line (still showing the vertical colored lines) with a button to un-collapse
  • Have a "Collapse everything" button which collapses all commits which aren't merges or branches

Another possibility: have a (floating?) "Graph Overview" window which gives you a compressed overview of the graph. Selecting items on the floating window would select them on the main window, and vice versa.

I have similar need for slightly different use-case: we use rebase merging into master on Github and we don't do squashing of pull requests. Therefore each pull-request adds a sequence of many commits to master. All these share the author and jira ticket ID (our commit message start with ticket ID).

So it would be great to have possibility to collapse commits either by pull-request (if this info is available) or by author+message pattern.

I would love the feature of possibly collapsing long linear chains of commits between branching and merging points. The UI could be inspired by the already present function that collapses the second parent of merges when "follow only first parent" is ticked.

In addition/alternative to the proposed "Collapse everything" command, I think it would be useful also a "Collapse undecorated", which keeps visible the commits that have tags attached to them and collapses all linear chains above and below them (still leaving branching and merging points uncollapsed)