A smarter mergemaster
John Baldwin
jhb at FreeBSD.org
Fri Sep 30 07:06:04 PDT 2005
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 at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-hackers
mailing list