Page MenuHomePhabricator
Diviner Phabricator Tech Docs PhabricatorDifferenceEngine

final class PhabricatorDifferenceEngine
Phabricator Technical Documentation ()

Utility class which encapsulates some shared behavior between different applications which render diffs.

Tasks

Configuring the Engine

  • public function setIgnoreWhitespace($ignore_whitespace) — If true, ignore whitespace when computing differences.
  • public function setOldName($old_name) — Set the name to identify the old file with. Primarily cosmetic.
  • public function setNewName($new_name) — Set the name to identify the new file with. Primarily cosmetic.

Generating Diffs

  • public function generateRawDiffFromFileContent($old, $new) — Generate a raw diff from two raw files. This is a lower-level API than @{method:generateChangesetFromFileContent}, but may be useful if you need to use a custom parser configuration, as with Diffusion.
  • public function generateChangesetFromFileContent($old, $new) — Generate an @{class:DifferentialChangeset} from two raw files. This is principally useful because you can feed the output to @{class:DifferentialChangesetParser} in order to render it.

Methods

public function setIgnoreWhitespace($ignore_whitespace)

If true, ignore whitespace when computing differences.

Parameters
bool$ignore_whitespaceIgnore whitespace?
Return
this

public function setOldName($old_name)

Set the name to identify the old file with. Primarily cosmetic.

Parameters
string$old_nameOld file name.
Return
this

public function setNewName($new_name)

Set the name to identify the new file with. Primarily cosmetic.

Parameters
string$new_nameNew file name.
Return
this

public function generateRawDiffFromFileContent($old, $new)

Generate a raw diff from two raw files. This is a lower-level API than generateChangesetFromFileContent(), but may be useful if you need to use a custom parser configuration, as with Diffusion.

Parameters
string$oldEntire previous file content.
string$newEntire current file content.
Return
stringRaw diff between the two files.

public function generateChangesetFromFileContent($old, $new)

Generate an DifferentialChangeset from two raw files. This is principally useful because you can feed the output to DifferentialChangesetParser in order to render it.

Parameters
string$oldEntire previous file content.
string$newEntire current file content.
Return
@{class:DifferentialChangeset}Synthetic changeset.