Diff, Match and Patch Library http://code.google.com/p/google-diff-match-patch/ Neil Fraser
This library is currently available in seven different ports, all using the same API. Every version includes a full set of unit tests.
C++:
- Ported by Mike Slemmer.
- Currently requires the Qt library.
C#:
- Ported by Matthaeus G. Chajdas.
Dart:
- The Dart language is still growing and evolving, so this port is only as stable as the underlying language.
Java:
- Included is both the source and a Maven package.
JavaScript:
- diff_match_patch_uncompressed.js is the human-readable version. Users of node.js should 'require' this uncompressed version since the compressed version is not guaranteed to work outside of a web browser.
- diff_match_patch.js has been compressed using Google's internal JavaScript compressor. Non-Google hackers who wish to recompress the source can use: http://dean.edwards.name/packer/
Lua:
- Ported by Duncan Cross.
- Does not support line-mode speedup.
Objective C:
- Ported by Jan Weiss.
- Includes speed test (this is a separate bundle for other languages).
Python:
- Two versions, one for Python 2.x, the other for Python 3.x.
- Runs 10x faster under PyPy than CPython.
Demos:
- Separate demos for Diff, Match and Patch in JavaScript.