Skip to content

Stacked multi-file diff in all change views, palette browse row, blank-click deselect#8

Merged
skoonin merged 5 commits into
developfrom
feature/stacked-diff-all-views
Jul 13, 2026
Merged

Stacked multi-file diff in all change views, palette browse row, blank-click deselect#8
skoonin merged 5 commits into
developfrom
feature/stacked-diff-all-views

Conversation

@skoonin

@skoonin skoonin commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Summary

  • Stacked multi-file diff everywhere (closes Show file diffs when a commit is selected in history #5): commit details (History), compare, revision compare, submodule compare, and stashes now follow the same selection-driven model as local changes — no selection shows the whole change set as one scrollable stacked diff, multi-select stacks the selection, single-select shows that file.
  • Shared core: the selection dispatch lives once in MultipleDiffContext.BuildDetail; each view supplies only how a change maps to a DiffOption. The working copy keeps its richer dispatcher (staged/unstaged, conflicts).
  • Debounced filter rebuilds: typing in a change filter narrows the list live but rebuilds the stacked diff once when typing pauses (~300ms) instead of spawning git diffs per keystroke. Applies to all five filtered views plus the working copy.
  • Ctrl/Cmd+P: new "Open Another Repository..." row at the bottom of the repository switcher opens a folder picker for repos not yet registered (offers git-init for non-repo folders).
  • Fix: clicking blank space below a file list clears the selection, returning the diff panel to the whole-changeset view.

Review

Multi-angle review (3 correctness + reuse/simplification/efficiency/altitude/conventions finders, verified): no correctness findings; the two accepted findings (per-keystroke rebuild cost, duplicated dispatch) are fixed in this PR.

Testing

  • make check green (format, build 0 warnings, 15/15 tests)
  • Manual GUI verification of all six views: single/multi/none selection, filter behavior, palette keyboard navigation

@skoonin
skoonin merged commit 7b54797 into develop Jul 13, 2026
14 checks passed
@skoonin
skoonin deleted the feature/stacked-diff-all-views branch July 13, 2026 01:37
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