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). > > 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 _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

