[PATCH 6 of 6] Disable premerge by default
Matt Mackall
mpm at selenic.com
Thu Sep 18 01:08:44 UTC 2008
On Thu, 2008-09-18 at 01:07 +0200, Mads Kiilerich wrote:
> Matt Mackall wrote, On 09/18/2008 12:24 AM:
> > It certainly is Mercurial-ish. Doing automatic premerge with a
> > simplemerge-like tool has been the default since day one. The only thing
> > that's changed is we don't call an external tool to do it.
> >
> > And it's also perfectly safe provided you check in your code before
> > merging.
>
> I assume that check in before merge doesn't influence the automatic
> merge directly. Merging of checked in revisions gives safety because you
> always can and should review any merges before checkin, comparing them
> to both parents, and in case of any problems you can redo the merge?
Right.
> > You might get the wrong merge result, but that danger can't be
> > eliminated.
> >
>
> http://www.selenic.com/mercurial/wiki/index.cgi/MergeProgram has for two
> years said: "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."
>
> How should it be said instead? What can people expect? Which
> "guarantees" should be given?
This was sort-of correct before 1.0. We required an external merge tool
to do any sort of external merging. But we also shipped an example
script (that just about everyone used) that used the merge program from
RCS to attempt a premerge if it could be found (and it usually could).
So most people have always used premerge. It's just now faster and
simpler (and possibly buggier).
So we should instead say something like:
By default, Mercurial will attempt to do a classic 3-way merge on text
files internally before trying to use an external tool.
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial-devel
mailing list