
Julien Nitard wrote:
That's actually not true. DVCS tools are not magic and when there is a genuine conflict in SVN (the same region was editited in parallel by two developers) then you also get a conflict in Git and Mercurial.
Could you please confirm this ? I am not an expert on that, but it seems that the diff algo in Git and Hg is completely different. For instance it is able to detect that lines were moved rather than some lines deleted and some (unrelated) lines inserted in the SVN way.
I've heard about that too, even that git (and probably also hg) is able to detect that some lines moved from one file to another. I haven't observed that neat trick by myself yet (not sure whether it didn't happen or I just wasn't aware of it) and I can't remember where I read about it. I think it doesn't necessarily need to have something to do with the diff tool; the magic could also be in the algorithms that process the diffs or perhaps in the use of hashes. In fact I suspect it's not in the diff tool, since you can configure git to use a different diff engine. That said, when two developers really edit the very same line in parallel (say one changes it to all uppercase and the other to all lowercase), of course there is no way that any tool in the world would be able to resolve the conflict. -Julian