Skip to content

feat: myers diff#3247

Open
myfreess wants to merge 25 commits intomainfrom
add_myers_diff
Open

feat: myers diff#3247
myfreess wants to merge 25 commits intomainfrom
add_myers_diff

Conversation

@myfreess
Copy link
Copy Markdown
Contributor

@myfreess myfreess commented Mar 5, 2026

This PR introduces a Myers-based diff package to provide efficient sequence diffing, structured edit scripts, and hunk-level grouping for downstream diff-style output.


Open with Devin

@myfreess myfreess force-pushed the add_myers_diff branch 11 times, most recently from a42e404 to 526ff08 Compare March 9, 2026 08:19
@myfreess myfreess marked this pull request as ready for review March 9, 2026 08:25
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 6 additional findings.

Open in Devin Review

@myfreess myfreess force-pushed the add_myers_diff branch 3 times, most recently from 69ede8b to ee4ded2 Compare March 11, 2026 10:14
@coveralls
Copy link
Copy Markdown
Collaborator

coveralls commented Mar 11, 2026

Coverage Report for CI Build 3867

Coverage increased (+0.06%) to 94.958%

Details

  • Coverage increased (+0.06%) from the base build.
  • Patch coverage: 3 uncovered changes across 1 file (248 of 251 lines covered, 98.8%).
  • No coverage regressions found.

Uncovered Changes

File Changed Covered %
diff/diff.mbt 140 137 97.86%

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 15807
Covered Lines: 15010
Line Coverage: 94.96%
Coverage Strength: 207919.83 hits per line

💛 - Coveralls

Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 6 additional findings.

Open in Devin Review

@myfreess myfreess force-pushed the add_myers_diff branch 12 times, most recently from 24ca5ba to b2c2311 Compare March 13, 2026 02:41
@myfreess myfreess force-pushed the add_myers_diff branch 4 times, most recently from 01a9b43 to da87dad Compare April 20, 2026 02:55
myfreess and others added 25 commits April 20, 2026 16:37
Users pattern-match Edit directly, making the separate EditTag enum and
take_tagged_view_from method redundant indirection. Internal callers
(render_with, test helper) now match on Edit variants inline.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Bundle source arrays with edit scripts so Edit values are always
meaningful without passing old/new separately. Diff(old~, new~) is the
entry point; .group(radius?) produces Array[Hunk[T]] with Show for
unified-diff rendering. Also removes mut from Equal fields, makes
grouping non-mutating, and drops deprecated Hunk::inner.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…thm enum

Introduces pub(all) enum DiffAlgorithm { Myers; Patience } so the API
is extensible if more algorithms are added later.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

3 participants