Hi Thomas, On May 15, 2012, at 5:49 PM, Thomas Mortagne wrote:
> 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. Similar to Ludovic's question, I'd like to ensure that we can refactor our current diff code to use this new API in the future. > 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 What happens if we can't find a library? How hard is it to implement a 3-way diff? Do we have other options? Thanks -Vincent _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

