Page MenuHomePhabricator

In prose diffs, use hash-and-diff for coarse "level 0" diffing to scale better
ClosedPublic

Authored by epriestley on Sep 25 2019, 10:12 PM.
Tags
None
Referenced Files
F18734065: D20839.id.diff
Tue, Sep 30, 10:47 PM
F18705660: D20839.diff
Sun, Sep 28, 12:25 PM
F18696266: D20839.id49680.diff
Sat, Sep 27, 7:13 AM
F18656306: D20839.diff
Mon, Sep 22, 10:06 PM
F18632356: D20839.id.diff
Tue, Sep 16, 5:50 PM
F18629298: D20839.id.diff
Tue, Sep 16, 8:26 AM
F18622683: D20839.diff
Sep 15 2025, 12:39 PM
F18620490: D20839.id49670.diff
Sep 15 2025, 5:23 AM
Subscribers
None

Details

Summary

Depends on D20838. Fixes T13414. Instead of doing coarse diffing with "PhutilEditDistanceMatrix", use hash-and-diff with "DocumentEngine".

Test Plan
  • On a large document (~3K top level blocks), saw a more sensible diff, instead of the whole thing falling back to "everything changed" mode.
  • On a small document, still saw a sensible granular diff.

Screen Shot 2019-09-25 at 2.55.12 PM.png (699×849 px, 190 KB)

Diff Detail

Repository
rP Phabricator
Branch
jupyter10
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 23497
Build 32295: Run Core Tests
Build 32294: arc lint + arc unit

Event Timeline

This revision was not accepted when it landed; it landed in state Needs Review.Sep 25 2019, 11:50 PM
This revision was automatically updated to reflect the committed changes.