question on mergemaster

Bill Moran wmoran at potentialtech.com
Mon Jan 19 09:05:40 PST 2004


rihad wrote:
> Hi. I was wondering if there are any improvements planned to be made to
> mergemaster? After today's cvsup I had to sit and keep pressing either
> "q" (to break out of the pager) or "i" to accept the new file. This *is*
> boring, considering there seemed to be no end to them and I eventually
> killed mergemaster, because I had started to get nervous and make silly
> typos :). It's just my toy home machine and there's only few files under
> /etc that I care about, and these mergemaster doesn't touch anyway (like
> fstab, rc.conf etc). Wouldn't it be great if one could add the "assume
> yes" flag so that it overwrites without prompting (like gentoo's
> etc-update does when you ask it). Currently I came up with this dirty
> hack to save myself from hundreds of confirmations, it kind of worked:
> 
> # ( echo d; while :; do echo -e "q\ni"; done ) | mergemaster -i
> 
> Is such an "no-prompt" option considered important enough to be
> integrated RSN or am I missing some obvious and convenient usage pattern
> everyone know about?
> 
> Thanks in advance and sorry if this is a bit offtopic.

I'm going to chime in because this has hung over my head for a while.

I've considered writing and submitting a patch to mergemaster to do this
since the first time I used it.  The biggest problem with lookin at
_every_ file is that it makes the user more prone to error as the tedium
bores him.  Obviously, a switch the simply updates everything is
pretty much guaranteed to screw somebody! so that's not a good idea
either.

But I just thought of a potential improvement, and I thought I'd suggest
this to everyone and see what they think:

If mergemaster checked each file for a magic value, such as:
# mergemaster autoreplace
and automatically updated those files without prompting the user, then
users could add such a line to the beginning of each file in /etc that
they are comfortable updating without feedback.  It may seem like a lot
of work, but it's only done _once_ (although mergemaster would need to
be taught to preserve this magic when it updates the file)

The optimistic way to do this would be to have some sort of switch to
mergemaster to tell it to go into autoupdate mode, and it will only ask
for files that contain a "negative magic" like:
# mergemaster noautoreplace
In which case the administrator should put this string at the beginning
of every file that he tweaks in /etc

Comments?

-- 
Bill Moran
Potential Technologies
http://www.potentialtech.com



More information about the freebsd-current mailing list