| | |
|
TWikiMerge3DotPm 1 - 01 Feb 2006 - Main.TWikiContributor
|
|
> > | Package TWiki::Merge
Support for 3-way merging of strings. Similar to Merge.pm, except that:
a) it's considers the ancestor revision of the string, and
b) it works. :-P
StaticMethod merge ($a,$b,$c,$arev,$brev,$crev,$sep,
$writeConflict, @info )
Perform a merge of two versions (b and c) of the same text, using
HTML tags to mark conflicts. a is the common ancestor.
The granularity of the merge depends on the setting of $sep.
For example, if it is "\\r?\\n", a line-by-line merge will be done.
Where conflicts exist, they are labeled using the provided revision
numbers. If a $writeConflict method is passed, then that's called
to override the built-in conflict formatting. Non-conflicting content
is not labeled.
Here's a little picture of a 3-way merge:
a <- ancestor
/ b c <- revisions
\ /
d <- merged result, returned.
call it like this:
my ( $ancestorMeta, $ancestorText ) =
$store->readTopic( undef, $webName, $topic, $originalrev );
$newText = TWiki::Merge3::merge(
$ancestorText, $prevText, $newText,
$originalrev, $rev, "new",
'\r?\n' ); |
|
|
|
|
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors. Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries. Atmel®, AVR® and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. All other trademarks are the property of their respective owners. Note: Please contribute updates to this topic on TWiki.org at TWiki:TWiki.TWikiMerge3DotPm
|
|
| | |