class diff3 extends diff

A class for computing three way diffs.

Properties

array $_edits

Array of changes.

from  diff
int $_conflicting_blocks

Conflict counter.

Methods

__construct(array $orig, array $final1, array $final2, bool $preserve_cr = true)

Computes diff between 3 sequences of strings.

get_diff()

Returns the array of differences.

from  diff
int
count_added_lines()

returns the number of new (added) lines in a given diff.

from  diff
int
count_deleted_lines()

Returns the number of deleted (removed) lines in a given diff.

from  diff
reverse()

Computes a reversed diff.

from  diff
bool
is_empty()

Checks for an empty diff.

from  diff
int
lcs()

Computes the length of the Longest Common Subsequence (LCS).

from  diff
array
get_original()

Gets the original set of lines.

from  diff
array
get_final()

Gets the final set of lines.

from  diff
trim_newlines(string $line, int $key)

Removes trailing newlines from a line of text. This is meant to be used with array_walk().

from  diff
_check($from_lines, $to_lines)

Checks a diff for validity.

from  diff
get_num_conflicts()

Return number of conflicts

mixed
get_conflicts_content(string $label1 = 'CURRENT_FILE', string $label2 = 'NEW_FILE', string $label_sep = 'DIFF_SEP_EXPLAIN')

Get conflicts content for download. This is generally a merged file, but preserving conflicts and adding explanations to it.

mixed
merged_output()

Return merged output (used by the renderer)

merged_new_output()

Merge the output and use the new file code for conflicts

merged_orig_output()

Merge the output and use the original file code for conflicts

get_conflicts()

Get conflicting block(s)

Details

at line 507
__construct(array $orig, array $final1, array $final2, bool $preserve_cr = true)

Computes diff between 3 sequences of strings.

Parameters

array $orig

The original lines to use.

array $final1

The first version to compare to.

array $final2

The second version to compare to.

bool $preserve_cr

If true, \r is replaced by a new line in the diff output

in diff at line 62
get_diff()

Returns the array of differences.

in diff at line 74
int count_added_lines()

Since: Text_Diff 1.1.0

returns the number of new (added) lines in a given diff.

Return Value

int

The number of new lines

in diff at line 97
int count_deleted_lines()

Since: Text_Diff 1.1.0

Returns the number of deleted (removed) lines in a given diff.

Return Value

int

The number of deleted lines

in diff at line 126
diff reverse()

Computes a reversed diff.

Example:

$diff = new diff($lines1, $lines2);
$rev = $diff->reverse();

Return Value

diff

A Diff object representing the inverse of the original diff. Note that we purposely don't return a reference here, since this essentially is a clone() method.

in diff at line 153
bool is_empty()

Checks for an empty diff.

Return Value

bool

True if two sequences were identical.

in diff at line 201
int lcs()

Computes the length of the Longest Common Subsequence (LCS).

This is mostly for diagnostic purposes.

Return Value

int

The length of the LCS.

in diff at line 224
array get_original()

Gets the original set of lines.

This reconstructs the $from_lines parameter passed to the constructor.

Return Value

array

The original sequence of strings.

in diff at line 247
array get_final()

Gets the final set of lines.

This reconstructs the $to_lines parameter passed to the constructor.

Return Value

array

The sequence of strings.

in diff at line 269
trim_newlines(string $line, int $key)

Removes trailing newlines from a line of text. This is meant to be used with array_walk().

Parameters

string $line

The line to trim.

int $key

The index of the line in the array. Not used.

in diff at line 279
_check($from_lines, $to_lines)

Checks a diff for validity.

This is here only for debugging purposes.

Parameters

$from_lines
$to_lines

at line 522
get_num_conflicts()

Return number of conflicts

at line 549
mixed get_conflicts_content(string $label1 = 'CURRENT_FILE', string $label2 = 'NEW_FILE', string $label_sep = 'DIFF_SEP_EXPLAIN')

Get conflicts content for download. This is generally a merged file, but preserving conflicts and adding explanations to it.

A user could then go through this file, search for the conflicts and changes the code accordingly.

Parameters

string $label1

the cvs file version/label from the original set of lines

string $label2

the cvs file version/label from the new set of lines

string $label_sep

the explanation between label1 and label2 - more of a helper for the user

Return Value

mixed

the merged output

at line 587
mixed merged_output()

Return merged output (used by the renderer)

Return Value

mixed

the merged output

at line 595
merged_new_output()

Merge the output and use the new file code for conflicts

at line 619
merged_orig_output()

Merge the output and use the original file code for conflicts

at line 643
get_conflicts()

Get conflicting block(s)