Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Sep 2005 09:07:16 -0400
From:      John Baldwin <jhb@FreeBSD.org>
To:        freebsd-hackers@freebsd.org
Cc:        Yar Tikhiy <yar@comp.chem.msu.su>, Jon Dama <jd@ugcs.caltech.edu>
Subject:   Re: A smarter mergemaster
Message-ID:  <200509300907.17730.jhb@FreeBSD.org>
In-Reply-To: <20050930110841.GC45907@comp.chem.msu.su>
References:  <20050929224548.GB3035@comp.chem.msu.su> <Pine.LNX.4.53.0509292355440.26869@barf.ugcs.caltech.edu> <20050930110841.GC45907@comp.chem.msu.su>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 30 September 2005 07:08 am, Yar Tikhiy wrote:
> [Replying to everyone who mentioned etcmerge or 3-way merge in general]
>
> On Fri, Sep 30, 2005 at 12:15:59AM -0700, Jon Dama wrote:
> > It is worth while to mention sysutils/etcmerge.
> >
> > Having the "three-way" merge makes the process much better.  The primary
> > way I've shot myself with mergemaster is forgetting some local change.
> >
> > Being able to distinguish the class of things that are changing upstream
> > really helps the situation and provides a more reasonable indication of
> > the default:
> >    if it changed upstream but not locally => default is install
> >    if it changed locally but not upstream => default is keep
> >    if it changed locally and upstream => default is merge
>
> Obviously, in order to do a 3-way merge, we need information about
> the old versions of original files as well.  However, currently we
> have only the new versions in /usr/src and local versions in /etc
> for mergemaster to work with.  I'll be glad to hear how etcmerge
> approaches this issue.
>
> In any case, we cannot offer the users to access the CVS repo when
> merging /etc.  Personally, I'd like to see a complete copy of current
> unmodified /etc files installed to /usr/share/examples/etc.  They
> could serve as the old original versions for the 3-way merge then.
> Alas, now the copy installed there is rather incomplete, motivation
> of which is unknown to me yet.  Any ideas?

I do the equivalent of etcmerge (sort of) by hand using some old instructions 
from the handbook (pre-mm).  Basically, for each installworld, you do a 
distribute of src/etc into /var/tmp/root-YYMMDD.  Then you keep around the 
previous tree and just compare the two previous trees and merge those changes 
into /etc.

-- 
John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200509300907.17730.jhb>