🤖 Fix code review: eliminate inverse deltas when branch is behind base #340
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.
Problem
When a branch is behind
origin/mainand the "Uncommitted" checkbox is enabled in Code Review, inverse deltas (deletions) appear for commits that landed onorigin/mainafter branching.Root cause: Toggling "Uncommitted" switched between different git diff modes:
git diff origin/main...HEAD(three-dot, stable merge-base) when uncommitted=falsegit diff origin/main(two-dot, tip comparison) when uncommitted=trueThe two-dot diff compares the tip of
origin/mainto the working directory, showing commits Y, Z, W as deletions since they exist on main but not in the feature branch.Solution
Use explicit
git merge-basewhenincludeUncommittedis true:Benefits:
Test Coverage
Added comprehensive test: "should not show inverse deltas when branch is behind base ref"
All 662 tests pass ✓
Generated with
cmux