Boost logo

Boost :

Subject: Re: [boost] [git] Mercurial?
From: Julian Gonggrijp (j.gonggrijp_at_[hidden])
Date: 2012-03-22 05:33:44


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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk