Archive for the 'visual diff' Category

Google Diff, Match, and Patch libraries for plain text

Wednesday, August 15th, 2007

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…”)

Subversion clients for Mac OS X

Saturday, June 30th, 2007
There is a discussion in comments to Aral Balkan’s Blog about Subversion clients for Mac OS X. Here is a list of all tools mentioned, slightly sorted by “popularity”: Many Mac users envy the TortoiseSVN client for Windows.

Local editing file history in Netbeans 6

Tuesday, May 1st, 2007
Tor Norbye shows nice screenshots of local editing file history (with version diffing), and the brand new diff view. Note that the file itself is not under version control — diffs are against auto-saved version. See: Tor Norbye: “Ruby Screenshot of the Week #6″. The smooth curves are very cool. See also: Meld: open-source visual diff and merge tree for Gnome. Supports CVS, Subversion, Bazaar-ng and Mercurial.