Repository navigation
update: each changed file lives on one shared row, and stage hunks the index holds part of - #61
Merged
Merged
Conversation
undont
marked this pull request as draft
September 25, 2026 18:01
… ]f into a vacated row
…moves outside differ
undont
marked this pull request as ready for review
October 8, 2026 12:02
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Partialsection, instead of once per side. every row diffsHEADto the worktree with the lines the index already holds shaded; sections come from git's status letters:Conflicts,Staged,Partial,Unstaged,Untrackedsanduact on a hunk the index holds only part of, and the winbar tallies staged and partial hunks!in the gutter and a winbar note.dwopens what changed since staging, where it shows as hunks of its own ands/u/Xwork on it, including a mode change, a binary file and a staged add whose file was deleteduon a!hunk takes back only the lines it rewrote, and names the whole staged block when it can'tdspreviews the commit: the panel lists only the staged files, each diffedHEADto the index, andutakes changes back out.Xthere refuses rather than discard unstaged work the preview doesn't showXon a hunk discards it from the index and the file together, rather than asking you to unstage it firstXreverts a mode change or a binary file from the diff, and brings a staged edit whose file was deleted back as staged, in the diff and the panel alikeuandUask before dropping staged content that neitherHEADnor the file holds, in the diff and the panel alikeS/Utake the whole file to the worktree's orHEAD's side, mode included; a rename's move stays with the panel rows/uwalk goes down the list once and ends by saying what is left.sstops on a file whose remaining change onlydwshows, untildwfinishes it or]fleaves it¬in the gutter on whichever side ends without one1:no longer stage the wrong content, symlinks diffing as their target, discarding a staged rename or add whose file was deleted, "stage failed" on a staged rename or deletion from the panel, a file swapped for a symlink refusing every staging key, and panelXsilently doing nothing on a submoduleTest plan
make checkcleans/S/u/U/Xwalked headless across the whole diff, whole-file rows, the local view, the INDEX view and the commit preview; each finding fixed with a spec