On Wed, May 16, 2012 at 8:45 AM, Thomas Mortagne <[email protected]> wrote: > On Tue, May 15, 2012 at 9:13 PM, Ludovic Dubost <[email protected]> wrote: >> Hi Thomas, >> >> There is the DiffPlugin which is used by the Diff code in the XWiki and >> Document classes. >> This API can also be used by applications. >> >> I included some HTML display APIs in this DiffPlugin >> >> If you are moving to a diff component it would make sense to migrate this >> code to the new component. > > I'm doing something more generic than a String diff (look at the > current API). And HTML presentation of the diff iss presentation stuff > and are not going to be in this API. > > So the API I have already cover more that what is in the diff plugin > (minus the HTML stuff of course).
As for the Document diff, no it's not using this plugin. At least Document#getContentDiff use JRCS API. > >> >> Ludovic >> >> 2012/5/15 Thomas Mortagne <[email protected]> >> >>> Hi devs, >>> >>> Since there is not official standard for diff/merge API I started to >>> write a simple one. Yo can find it on >>> >>> https://github.com/xwiki/xwiki-commons/tree/feature-diff/xwiki-commons-core/xwiki-commons-diff >>> . >>> >>> The first use case for it is to provide a diff/merge API for the >>> Extension Manager XAR merging conflict resolution UI. >>> >>> It is mostly inspired from JRCS/java-diff-utils APIs and implemented >>> using java-diff-utils (http://code.google.com/p/java-diff-utils/) for >>> the diff and JDiff (http://www.qarks.com/web/en/products_jdiff.html) >>> for the multiline String merge. Theses are the most active independent >>> libraries I could find so far and it's not really what I would call >>> active library usually... >>> >>> Would be nice to get some comments/suggestions on the API. >>> >>> For the implementation side if you know some good diff/merge tool I >>> would be glad to get some other suggestions. I took a quick look at >>> various EDIs which obviously have this kind of tools but what I could >>> find is not really designed to be used easily outside of the EDI for >>> which they have been designed. Either its very tied to the EDI itself >>> or it's generic enough but trigger a whole bunch of dependencies while >>> we would use like 1% of the total. >>> >>> Here are the various features I'm looking for in an ideal library: >>> * good 3 ways merge ("good" is not a detail, applying a patch on the >>> third version does not always give very good results) >>> * diff/patch API >>> * support of single line in 3 ways merge and diff >>> >>> Thanks, >>> -- >>> Thomas Mortagne >>> _______________________________________________ >>> devs mailing list >>> [email protected] >>> http://lists.xwiki.org/mailman/listinfo/devs >>> >> >> >> >> -- >> Ludovic Dubost >> Founder and CEO >> Blog: http://blog.ludovic.org/ >> XWiki: http://www.xwiki.com >> Skype: ldubost GTalk: ldubost >> _______________________________________________ >> devs mailing list >> [email protected] >> http://lists.xwiki.org/mailman/listinfo/devs > > > > -- > Thomas Mortagne -- Thomas Mortagne _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

