Google Diff, Match, and Patch libraries for plain text
Google Code hosts a library written by Neil Fraser, called google-diff-match-patch.
The Diff Match and Patch libraries offer robust algorithms to perform the operations required for synchronizing plain text.
- Diff: Compare two blocks of plain text and efficiently return a list of differences.
- Match: Given a search string, find its best fuzzy match in a block of plain text. Weighted for both accuracy and location.
- Patch: Apply a list of patches onto plain text. Use best-effort to apply patch even when the underlying text doesn’t match.
Currently available in Java, JavaScript and Python. Regardless of language, each library features the same API and the same functionality.
Google Documents uses this library. Reasonable content management systems should use it, too.
More information and download at Google Code: diff-match-patch.
(via Global Moxie: “And speaking of version control…”)
Recent posts on similar topics
- Tim O'Reilly: Why Congress Needs a Version Control System - October 7th, 2007
- Subversion clients for Mac OS X - June 30th, 2007
- ext3cow versioning file system released for Linux 2.6 - May 19th, 2007
- Local editing file history in Netbeans 6 - May 1st, 2007
- Slashdot: Source Control for Bills in Congress? - March 14th, 2007