[READ-ONLY] Mirror of https://github.com/SantaClaas/gigit. git client

Fill the sidebar with the repository's refs master

The placeholder sections from the first change now show what is actually there. `list_references` already existed and was tested; this is the store, the grouping and the markup that use it. Refs are grouped by what their namespace says they are, and sorted with a numeric collator so v9 comes before v10 rather than after it. Refs in the `other` group — notes, refs/stash, replacements — are left out: they are machinery rather than things a person navigates by, and showing them would bury the branches. The Stashes section is gone rather than left empty. Listing stashes means reading the reflog of refs/stash, not enumerating refs, so it could only ever have shown whether a stash ref exists. A heading that can never be right is worse than no heading. Entries are text, not buttons. Nothing happens when you click a branch yet, and a control that looks interactive but is not is worse than plain text. They become controls when checking out exists. The checked-out branch is marked in words as well as colour, since colour alone says nothing out loud. Before a repository is open the sections read "—" rather than "None", because "None" would be a claim about a repository nothing has read. Each section carries a count, which earns its place on a repository with hundreds of remote branches. Loading refs is not awaited before the graph starts: the two are independent, and the sidebar should not hold up the first commits. A failure in one leaves the other alone. 21 tests, including a repository with 400 refs, a remote branch whose name ends with the checked-out branch's name, and that grouping does not mutate what it was handed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>