class diff3 extends diff
A class for computing three way diffs.
Properties
array | $_edits | Array of changes. |
integer | $_conflicting_blocks | Conflict counter. |
Methods
diff(array $from_content, array $to_content, bool $preserve_cr = true)
Computes diffs between sequences of strings. |
from diff | |
get_diff()
Returns the array of differences. |
from diff | |
integer |
count_added_lines()
returns the number of new (added) lines in a given diff. |
from diff |
integer |
count_deleted_lines()
Returns the number of deleted (removed) lines in a given diff. |
from diff |
diff |
reverse()
Computes a reversed diff. |
from diff |
boolean |
is_empty()
Checks for an empty diff. |
from diff |
integer |
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, integer $key)
Removes trailing newlines from a line of text. |
from diff | |
_check($from_lines, $to_lines)
Checks a diff for validity. |
from diff | |
diff3(array $orig, array $final1, array $final2, bool $preserve_cr = true)
Computes diff between 3 sequences of strings. |
||
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. |
|
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) |
||
_diff3($edits1, $edits2)
|
Details
in diff at line 53
public
diff(array $from_content, array $to_content, bool $preserve_cr = true)
Computes diffs between sequences of strings.
in diff at line 62
public
get_diff()
Returns the array of differences.
in diff at line 74
public integer
count_added_lines()
returns the number of new (added) lines in a given diff.
in diff at line 97
public integer
count_deleted_lines()
Returns the number of deleted (removed) lines in a given diff.
in diff at line 126
public diff
reverse()
Computes a reversed diff.
Example:
$diff = new diff($lines1, $lines2);
$rev = $diff->reverse();
in diff at line 153
public boolean
is_empty()
Checks for an empty diff.
in diff at line 195
public integer
lcs()
Computes the length of the Longest Common Subsequence (LCS).
This is mostly for diagnostic purposes.
in diff at line 218
public array
get_original()
Gets the original set of lines.
This reconstructs the $from_lines parameter passed to the constructor.
in diff at line 241
public array
get_final()
Gets the final set of lines.
This reconstructs the $to_lines parameter passed to the constructor.
in diff at line 263
public
trim_newlines(string $line, integer $key)
Removes trailing newlines from a line of text.
This is meant to be used with array_walk().
in diff at line 273
public
_check($from_lines, $to_lines)
Checks a diff for validity.
This is here only for debugging purposes.
at line 501
public
diff3(array $orig, array $final1, array $final2, bool $preserve_cr = true)
Computes diff between 3 sequences of strings.
at line 516
public
get_num_conflicts()
Return number of conflicts
at line 543
public 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.
at line 581
public mixed
merged_output()
Return merged output (used by the renderer)
at line 589
public
merged_new_output()
Merge the output and use the new file code for conflicts
at line 613
public
merged_orig_output()
Merge the output and use the original file code for conflicts
at line 637
public
get_conflicts()
Get conflicting block(s)
at line 657
public
_diff3($edits1, $edits2)