On Fri, Sep 30, 2005 at 09:07:16AM -0400, John Baldwin wrote: > 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.
I'm curious if we can do this in the stock system using the stock tools. We could compare /usr/share/examples/etc with the results of "make distrubution" and merge the changes into /etc. Mergemaster invokes "make distrubution" anyway, so it just needs relevant /usr/share/examples/etc to be able to do a 3-way merge. This assumes that /usr/share/examples/etc is in keeping with /etc, of course, but the assumption can be verified using RCS Id strings, which should be the same here and there. -- Yar _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-hackers To unsubscribe, send any mail to "[EMAIL PROTECTED]"

