HomePhabricator

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

Description

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

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)

Maniphest Tasks: T13414

Differential Revision: https://secure.phabricator.com/D20839