7

Does anyone know of an Open Source three-way merge implementation in JavaScript or PHP? I want to merge plain text files without the need to rely on any server side binaries.

I found a few solutions for creating diffs, but no merge implementations.

Martin Geisler
  • 69,865
  • 23
  • 162
  • 224
Andreas Gohr
  • 4,109
  • 4
  • 23
  • 41

3 Answers3

4

Not exactly three-way merge, but Google's "Diff Match and Patch libraries offer robust algorithms to perform the operations required for synchronizing plain text". And the implementation is available in Java, JavaScript, C++, C#, Lua and Python.

user207825
  • 51
  • 3
3

Synchrotron looks good. E.g. see the demo of three-way merge and conflict-handling.

Beni Cherniavsky-Paskin
  • 8,228
  • 1
  • 42
  • 55
1

Just finished my work on such a js- and php-tool. Have a look and enjoy:

https://github.com/Krassmus/Textmerger

You'd just need to write

var merged = Textmerger.get().merge(original, mytext, theirtext);

or in PHP

$merged = Textmerger::get()->merge($original, $mytext, $theirtext);

and you're done.

Krassmus
  • 179
  • 1
  • 6