Skip to content

Bound range-diff memory during branch moves - #2098

Open
svarlamov wants to merge 2 commits into
mainfrom
fix/2093-1785879749
Open

Bound range-diff memory during branch moves#2098
svarlamov wants to merge 2 commits into
mainfrom
fix/2093-1785879749

Conversation

@svarlamov

@svarlamov svarlamov commented Aug 4, 2026

Copy link
Copy Markdown
Member

Fixes #2093

Summary

  • cap consecutive dropped-commit mappings after exact range-diff matches, matching the existing pre-match bound
  • preflight the old range and bound the new range to a verified tip suffix before spawning git range-diff
  • preserve exact mappings for small moved stacks even when their shared upstream history exceeds the cap
  • fail closed when either range cannot be bounded

Test coverage

  • parser regression for more than 64 dropped commits after a match
  • TestRepo regression proving branch moves no longer fabricate one mapping per dropped commit
  • TestRepo regression proving oversized old ranges are rejected before spawning git range-diff
  • TestRepo regression proving long upstream history retains moved-stack attribution
  • full task test suite, task lint, and task fmt

Cap fabricated dropped-commit mappings on both sides of exact matches and preflight range-diff inputs with bounded rev-list counts. Add TestRepo regressions for post-match fanout and oversized range rejection.
devin-ai-integration[bot]

This comment was marked as resolved.

Bound the new range-diff side to a verified tip suffix when the exact landing point is unavailable. Add a TestRepo regression covering a small moved stack over upstream history beyond the limit.
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.

Multi-GB memory on gt move / restack-undo persists on v1.6.20: unbounded post-match mapping fabrication + range-diff child memory

1 participant