Page MenuHomePhabricator

Refactor DifferenceEngine et.al. to make parts reusable
Open, LowPublic

Description

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

Details

Reference
bz36902

Related Objects

StatusAssignedTask
Declineddchen
OpenNone
OpenNone
DuplicateNone
OpenNone
ResolvedAbit
OpenNone
OpenNone
OpenNone
OpenNone
DuplicateNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
Resolvedppelberg
ResolvedKrinkle
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
StalledNone
ResolvedPetrb
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone

Event Timeline

bzimport raised the priority of this task from to Low.
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