Page MenuHomePhabricator

Refactor DifferenceEngine to make parts reusable
Closed, DuplicatePublic


DifferenceEnginge and the accompanying classes (DairikiDiff, etc) should be refactored so we get a system of pluggable components. The following things should be considered:

  • We want an abstract marker interface for all kinds of diffs.
  • There should be an interface for sequential, text-based diffs.
  • Formatters for generating html, unified, and other diff output should be based on the interface for sequential diffs.
  • Other types of diffs need to provide their own "private" formatters.
  • The (misnamed) DifferenceEngine class is really a diff view class that takes care of loading all the information required to build the diff.

Version: unspecified
Severity: enhancement



Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 12:28 AM
bzimport set Reference to bz36902.
bzimport added a subscriber: Unknown Object (MLST).
daniel created this task.May 16 2012, 10:15 AM
Krinkle set Security to None.
Krinkle removed a subscriber: Unknown Object (MLST).
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptAug 23 2015, 9:42 AM
Restricted Application removed a subscriber: Liuxinyu970226. · View Herald TranscriptAug 10 2019, 4:46 PM