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
F19303091: D20839.id.diff
Tue, Dec 23, 5:56 PM
F19083086: D20839.id49680.diff
Dec 2 2025, 12:30 PM
F18985233: D20839.id49670.diff
Nov 17 2025, 12:56 PM
F18844458: D20839.diff
Oct 29 2025, 5:37 AM
F18806064: D20839.id.diff
Oct 18 2025, 5:37 PM
F18799182: D20839.diff
Oct 17 2025, 12:24 PM
F18795558: D20839.id49670.diff
Oct 17 2025, 2:11 AM
F18734065: D20839.id.diff
Sep 30 2025, 10:47 PM
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
Lint
Lint Not Applicable
Unit
Tests Not Applicable

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.