Skip to content

feature: add an optional branches column to history - #2833

Open
tib8 wants to merge 2 commits into
sourcegit-scm:developfrom
tib8:optional-separate-branches-column
Open

tib8 wants to merge 2 commits into
sourcegit-scm:developfrom
tib8:optional-separate-branches-column

Conversation

@tib8

@tib8 tib8 commented Oct 28, 2026 •

Copy link
Copy Markdown

A new separate branches column with more compact branch labels, so the message text area is less noisy:
(some related PRs also visible on this screenshot)

image

Adds an opt-in BRANCHES item as the first option under the history view's SHOW COLUMNS menu. Enabling it displays a resizable column before the graph and saves its visibility and width per repository.

  • Reuses the existing colored branch badges. The current branch takes priority, followed by local and remote branches.
  • Combines matching local and remote refs on the same commit into one badge with both icons. Additional distinct labels appear as a +N count outside the badge.
  • Truncates long names with ... to fit the available column width, reserving count space only when needed. Tooltips retain every full branch name.
  • Connects branch-tip badges to their commit dots with a matching-color horizontal line: fully opaque for the active branch, 70% opaque otherwise.
  • Shows a 70%-opacity branch badge while an unlabeled commit row is hovered anywhere or selected, including multi-selection. These badges use branch identity carried along the graph lane and do not draw connectors.
  • Hides duplicate branch badges in the message area while the column is shown; tags remain visible after the subject. Hiding the column restores the original layout.

This is a standalone port onto develop and does not require the separate Working Directory row or history-column reordering changes.

Validation on Windows with .NET 10:

dotnet format src/SourceGit.csproj --verify-no-changes --no-restore
dotnet run --project tests/BranchColumnChecks --no-restore -p:UsedAvaloniaProducts= -- --render

Formatting verification passed. All 52 branch-column checks passed, covering grouping, Unicode truncation, tooltips, whole-row hover and selection, connector geometry, header dragging, saved settings, and layout restoration. The rendered history view was also inspected.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant