Skip to content

git: More rigorously test excerpt syncing for split diff, and fix a couple of bugs#49907

Merged
cole-miller merged 7 commits intomainfrom
split-diff-excerpt-random-testing
Feb 24, 2026
Merged

git: More rigorously test excerpt syncing for split diff, and fix a couple of bugs#49907
cole-miller merged 7 commits intomainfrom
split-diff-excerpt-random-testing

Conversation

@cole-miller
Copy link
Copy Markdown
Member

This PR adds a more rigorous test for the excerpt syncing logic in SplittableEditor, in preparation for refactoring that code, since we've had some bugs there.

The new test covers

  • edits within the RHS multibuffer
  • edits to the individual main buffers, not necessarily within the excerpt bounds of the split diff
  • excerpt expansion
  • excerpt removal
  • excerpt recalculation based on diff hunk ranges

Bugs fixed:

  • incorrect edit merging logic in patches_for_range
  • merge_excerpts leaving stale excerpt IDs in excerpts_by_path

Before you mark this PR as ready for review, make sure that you have:

  • Added a solid test coverage and/or screenshots from doing manual testing
  • Done a self-review taking into account security and performance aspects
  • Aligned any UI changes with the UI checklist

Release Notes:

  • N/A

@cla-bot cla-bot bot added the cla-signed The user has signed the Contributor License Agreement label Feb 23, 2026
@zed-community-bot zed-community-bot bot added the staff Pull requests authored by a current member of Zed staff label Feb 23, 2026
@cole-miller cole-miller enabled auto-merge (squash) February 24, 2026 03:25
@cole-miller cole-miller merged commit c7dd119 into main Feb 24, 2026
27 checks passed
@cole-miller cole-miller deleted the split-diff-excerpt-random-testing branch February 24, 2026 03:33
Anthony-Eid pushed a commit to bobbymannino/zed that referenced this pull request Feb 25, 2026
…ouple of bugs (zed-industries#49907)

This PR adds a more rigorous test for the excerpt syncing logic in
`SplittableEditor`, in preparation for refactoring that code, since
we've had some bugs there.

The new test covers
- edits within the RHS multibuffer
- edits to the individual main buffers, not necessarily within the
excerpt bounds of the split diff
- excerpt expansion
- excerpt removal
- excerpt recalculation based on diff hunk ranges

Bugs fixed:
- incorrect edit merging logic in `patches_for_range`
- `merge_excerpts` leaving stale excerpt IDs in `excerpts_by_path`

Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A
@cole-miller
Copy link
Copy Markdown
Member Author

/cherry-pick stable

github-actions bot pushed a commit that referenced this pull request Feb 26, 2026
…ouple of bugs (#49907)

This PR adds a more rigorous test for the excerpt syncing logic in
`SplittableEditor`, in preparation for refactoring that code, since
we've had some bugs there.

The new test covers
- edits within the RHS multibuffer
- edits to the individual main buffers, not necessarily within the
excerpt bounds of the split diff
- excerpt expansion
- excerpt removal
- excerpt recalculation based on diff hunk ranges

Bugs fixed:
- incorrect edit merging logic in `patches_for_range`
- `merge_excerpts` leaving stale excerpt IDs in `excerpts_by_path`

Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A
zed-zippy bot added a commit that referenced this pull request Feb 26, 2026
…ouple of bugs (#49907) (cherry-pick to stable) (#50174)

Cherry-pick of #49907 to stable

----
This PR adds a more rigorous test for the excerpt syncing logic in
`SplittableEditor`, in preparation for refactoring that code, since
we've had some bugs there.

The new test covers
- edits within the RHS multibuffer
- edits to the individual main buffers, not necessarily within the
excerpt bounds of the split diff
- excerpt expansion
- excerpt removal
- excerpt recalculation based on diff hunk ranges

Bugs fixed:
- incorrect edit merging logic in `patches_for_range`
- `merge_excerpts` leaving stale excerpt IDs in `excerpts_by_path`

Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI

checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

Co-authored-by: Cole Miller <cole@zed.dev>
tahayvr pushed a commit to tahayvr/zed that referenced this pull request Mar 4, 2026
…ouple of bugs (zed-industries#49907)

This PR adds a more rigorous test for the excerpt syncing logic in
`SplittableEditor`, in preparation for refactoring that code, since
we've had some bugs there.

The new test covers
- edits within the RHS multibuffer
- edits to the individual main buffers, not necessarily within the
excerpt bounds of the split diff
- excerpt expansion
- excerpt removal
- excerpt recalculation based on diff hunk ranges

Bugs fixed:
- incorrect edit merging logic in `patches_for_range`
- `merge_excerpts` leaving stale excerpt IDs in `excerpts_by_path`

Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The user has signed the Contributor License Agreement staff Pull requests authored by a current member of Zed staff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant