Crate merge3

Source
Expand description

§Merge3

A rust implementation of 3-way merge of texts.

Given BASE, OTHER, THIS, tries to produce a combined text incorporating the changes from both BASE->OTHER and BASE->THIS. All three will typically be sequences of lines.

§Example

use merge3::Merge3;

let base = vec!["common\n", "base\n"];
let this = vec!["common\n", "a\n"];
let other = vec!["common\n", "b\n"];

let m3 = Merge3::new(&base, &this, &other);

for line in m3.merge_lines(false, &merge3::StandardMarkers::default()) {
    println!("{}", line);
}

Structs§

CustomMarkers
Merge3
3-way merge of texts
StandardMarkers

Enums§

MergeGroup
MergeRegion

Traits§

LineMarkers