I'm agree that the "expand/collapse all" button could be a great feature.
My base idea was to let the user choose this in settings, if at startup all are expanded or all are collapsed.
Now i just have this following idea, how about saving the state ? Keeping the button to collapse/expand all but is it complicated to implement the save of expanded and collapsed branches ? And i think this idea can be a separated feature request and keep the focus in priority to collapse/expand all feature
I'm very busy right now to answer in details. So, very briefly:
We don't ignore sidebar and already working on its improvements. In Fork 1.28 the Repository Manager sidebar remembers open items even when you restart the application (we just test the features there).
Regarding sidebar in repository view:
Repository sidebar will remember expanded items for each repo and restore them after restart
No subitems will be open automatically
On first run the Local branches section will be fully opened, the rest is closed
Ability to sort items alphabetically or by recently used
Just to add my own vote. I work for an organization that has roughly 500 people working on one of our product repositories. At any given time, we can have anywhere from 100-400 branches that are in active development on a single one of our repositories. Many of our teams and individual contributors have adopted to putting their branches into a folder to make organizing and finding their branch a little cleaner and easier.
At the time of this writing, there are 298 branches on a particular repo I am workin in with 28 parent level folders housing a majority of the branches.
As a convert from Sourcetree (for a variety of reasons), they had the collapsed by default behavior and also persisted the users's expanded items. It was incredibly buggy though and would often reset back to fully collapsed. Since it collapsed everything by default, it was a manageable annoyance.
"Collapse/Expand All" or "Collapse by Default" is not really just a nice to have for my organization, it's a necessity due to the structure of our repository.