Improve vertical ordering in Branch Explorer, make use of hierarchy
The default ordering of branches in Branch Explorer could be improved. It should respect and make use of the branch hierarchy, so as not to cross lines unnecessarily.
When I have several top-level branches with some child branches each, they are not grouped together vertically in a hierarchically logical order. Instead they seem to be randomly placed (?) leading to a lot of lines crossing each other. (I always enable "Display cross-branch changeset links" which makes this more obvious.)
I think child branches should always be displayed below their immediate parent (or sibling if multiple children overlap in time).
Branches that are on the same hierarchical level would still need to be sorted by additional heuristics just like today, based on overlap in time etc, but the branch hierarchy should be the main ordering criteria.
The earlier linked screenshots have now been moved here:
suggested "sorted" layout: https://drive.google.com/open?id=1laNq1DuVRwif4bLOCefEHJvXzc9bI2zq
This uservoice is slightly related (but different) : https://plasticscm.uservoice.com/forums/15467-general/suggestions/18561949-add-a-branch-weight-for-layouting-in-branch-explor
The most basic improvement to the Branch Explorer layout would be to simply replicate the same "vertical ordering" that you get in the Branches view when you enable "Tree view" (instead of "List view") !
I added one more screenshot "crossing_lines.png" to the dropbox URL mentioned earlier.
The new screenshot shows a smaller and simpler case where you can see a couple of grand-child-branches that are not sorted according to their hierarchical parent-child relationship. Instead the lines indicating ancestry (the "cross-branch changeset links") are allowed to cross other (cousin or unrelated) branches.
What I'd like to see is a more strictly hierarchical default layout.
The screenshots are here:
Here you can view two screenshots, one is the default Branch Explorer layout and in the other one I have manually done "relayout" to match the "branch namespace" hierarchy. I think the "sorted" one is much easier to grasp, since there is much less line-crossing and (grand-)child branches follow logically beneath their parents.
This hierarchical sorting is something that could easily be done automatically (by default).