Determine which diff algorithm / package to use for diff. There are various options available, this includes the pear diff, the Drupal diff module, or executing the diff program on the host.

Comments

bradfordcp’s picture

Currently checking out the diff module in d6. Currently I am seeing a menu issue, but other than that it looks pretty showing the difference between revisions

chx’s picture

We need more than a simple diff -- we need a diff program that can generate a patch we can apply.

bradfordcp’s picture

Hmm, does that also mean that I need to be looking for a patch PHP solution too?

bradfordcp’s picture

PEAR's Text_Diff package is fairly simple to use. One of the renderers it supplies is a unified diff format. I am having issues with the phpWiki engine, but so far things seem to be going well. Will report more here after discussing with chx.

bradfordcp’s picture

Just to keep track of these links...

http://us3.php.net/xdiff <- This looks very promising, especially with the patch logic

http://pastebin.com/f145611b3 <- I am not sure how much to trust this...

chx’s picture

We need pluggable backends. I guess one that uses commandline diff/patch, one that uses xdiff and it would really great if there would be one that's written in PHP even if it's not as good as the abovementioned ones.

bradfordcp’s picture

Pluggable backends sound nice, have you had a chance to look at the pastebin link? I will be running some diagnostics tonight on xdiff and that logic. Expect a ful-blown report shortly.

bradfordcp’s picture

Update:
I have finished my first run through of different diff solutions and have created a couple of issues and a small summary of the engines. The links to the issues are provided below and I will post the summary here after a couple of edits.

Links to issues:
#479088: Generate architecture that will support interchangeable diff engines.
#479068: Create PHP based diff back-end
#479066: Create Extension based diff back-end
#479064: Create System based diff back-end