Algorithm-Diff-Apply
view release on metacpan or search on metacpan
lib/Algorithm/Diff/Apply.pod view on Meta::CPAN
"start" => N,
"changes" => [[OP1, DATA1], ..., [OPn, DATAn]],
}
Where "start" is a line number in the I<target> array, indicating
where this hunk is intended to be applied, and "changes" contains the
changes to apply.
Optimiser callbacks should return a I<permuted copy> of what they were
passed. Empty diffs will be discarded automatically. If only one diff
remains after processing, the conflict will have been optimised away
completely.
=head2 Conflict Resolver Callbacks
Resolver callbacks are invoked when conflicts have been detected, and
the optimisers weren't able to completely factor away the conflict
block.
The job of a resolver callback is to return some kind of resolution of
the conflicting sub-arrays. These subs are called a little like this:
( run in 0.300 second using v1.01-cache-2.11-cpan-8d75d55dd25 )