begin  quoting David Brown as of Wed, Dec 19, 2007 at 07:42:40AM -0800:
> On Wed, Dec 19, 2007 at 02:29:10AM -0800, SJS wrote:
> 
> >Apparently, mercurial doesn't do merges.
> >
> >(I was poking around on the mercurial webpages today and discovered this.)
> 
> I'm curious where you got this, since it is blatantly false.  Mercurial

http://www.selenic.com/mercurial/wiki/index.cgi/MergeProgram

  It should be emphasized that Mercurial by itself doesn't attempt to do a
  Merge at the file level, neither does it make any attempt to Resolve the
  conflicts.

> does tree-combining merges in a similar manner to git, which means it tends
> to choose a much better common ancestor than CVS, or Subversion would.
> Well, subversion can choose a good common ancestor, since it relies on the
> user to tell it what that common ancestor is.
>
> Now, yes, it calls to an external program 'merge' to do the actual merge
> work, but all of them will either do that, or just incorporate the code out
> of merge into themselves.  Most can be configured, because you need very
> different tools to merge some kinds of things (imagine bitmap images).
>
> The "hard" part of merging isn't the 3-way merge, but figuring out what the
> multiple versions are.  It's not that 3-way merging isn't hard, but there
> have been good solutions for a long time.  Figuring out what files to give
> it is what requires the metadata.

Choosing a common ancestor isn't merging. It's a nice trick, but given a
crappy merge tool, you *still* get a crappy merge.

And I'm not saying it's the wrong way, either. I will even concede that
it's a brilliant design, making the merge tool pluggable.

But that, doesn't by definition, provide a better merge. It _allows_ for
a better merge, IF you chose a better tool to do the merges.  Choose a
worse one, or none, there's no joy in mudville.

So while my assertion that mercurial doesn't to merges is a bit
disingenuous, so is the assertion that it does. :)

And hey, I was reading the webpage. It suprised the hell out of me that
if I _don't_ have a three-way merge program installed, configured, and
accessible, I'm toast.  I haven't taken any time to experiment with the
merging in hg or git.

-- 
'Can do no worse' is a very, very, very strong assertion.
Stewart Stremler


-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to