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).
Krinkle set Security to None.
Krinkle removed a subscriber: Unknown Object (MLST).