On 18/03/2008, Thomas Dalton thomas.dalton@gmail.com wrote:
Ok, it just uses the built in merge function of the external diff program. That should be able to fix any conflict that doesn't have two people editing the same bit of the article. If you're getting conflicts with people editing different sections, there is probably something more going on. If not, then it is a bug,
Yeah, I thought that would be how it worked. The thing is diff/merge is optimised to *mostly* do the right thing, but is actually mostly optimised to work *quickly*, and so sometimes does the wrong thing, even when it could do a bit better. I've often seen diff claim that almost the whole file has changed even when there's only been a handful of scattered changes.
You wouldn't really want a better diff/merge toolset running on the wikiserver I think, because performance counts- doing a diff/merge is actually a horribly complicated process that involves comparing two (or three) long files and you can throw lots of processor power at it and get only modest improvements in the overall effectiveness and accuracy. Throwing it back to the user to do probably works better, but it is a pain.
Which is not to say that the UI couldn't help you merge stuff better.