Active
Project:
Conflict Resolver
Component:
Code
Priority:
Critical
Category:
Task
Assigned:
Reporter:
Created:
24 May 2009 at 20:54 UTC
Updated:
1 Jun 2009 at 21:14 UTC
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
Comment #1
bradfordcp commentedCurrently 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
Comment #2
chx commentedWe need more than a simple diff -- we need a diff program that can generate a patch we can apply.
Comment #3
bradfordcp commentedHmm, does that also mean that I need to be looking for a patch PHP solution too?
Comment #4
bradfordcp commentedPEAR'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.
Comment #5
bradfordcp commentedJust 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...
Comment #6
chx commentedWe 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.
Comment #7
bradfordcp commentedPluggable 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.
Comment #8
bradfordcp commentedUpdate:
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