Skip to content

fix(structural): the symbol delta of a dirty tree reads the worktree, not the head token - #50

Merged
folded merged 1 commit into
mainfrom
fix/symbol-delta-dirty-head
Sep 7, 2026
Merged

folded merged 1 commit into
mainfrom
fix/symbol-delta-dirty-head

Conversation

@folded

@folded folded commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Pre-existing since #22, surfaced by a dirty checkout: compute_symbol_delta passed the synthetic <sha>-dirty-<hash> head token to git diff --name-only, so the overview pass failed on any review of an uncommitted tree. Changed paths now come from the head worktree (git diff --name-only <base> in it, plus ls-files --others --exclude-standard — the untracked files git grep --untracked already sees), which serves a committed head identically. Test covers a modified tracked file and a new untracked one under a dirty token.

… not the head token

A dirty-tree review's head is the working directory; its token
(<sha>-dirty-<hash>) is no revision, and compute_symbol_delta named it
to git diff, which failed the overview pass on every dirty tree since
#22. Changed paths now come from the head worktree — git diff against
the base plus the untracked files, as grep already sees them — which
serves a committed head the same.
@folded
folded merged commit 1b42331 into main Sep 7, 2026
5 checks passed
@folded
folded deleted the fix/symbol-delta-dirty-head branch September 7, 2026 12:00
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