Mergemaster enhancement

Marc G. Fournier scrappy at hub.org
Thu Apr 13 18:07:19 UTC 2006


On Thu, 13 Apr 2006, Julian Elischer wrote:

> Gordon Tetlow wrote:
>
>> I've thrown together a quick mergemaster enhancement that will 
>> automagically upgrade files that have changed in the /usr/src/etc 
>> distribution but the user hasn't changed. Great applications are for when 
>> you trust that we aren't going to break everything and only don't want 
>> mergemaster to squash files that you have customized.
>> 
>> Patch location: 
>> http://people.freebsd.org/~gordon/patches/mergemaster.mtree.diff
>> 
>> How it works:
>> Through clever use of mtree, I build an mtree description of everything 
>> that make distribution installs (only size and md5) from the temproot. When 
>> the user completes a mergemaster run, the mtree description file gets 
>> installed into /var/db for safe-keeping.
>> 
>> When the user then decides to do a subsequent upgrade (with the -U flag), 
>> the existing mtree description from /var/db is called into service looking 
>> for files that are different in DESTDIR. This is stashed away until a file 
>> that would normally end up prompting you to look at changes is encountered. 
>> Since there are no user modified changes, the new file is installed without 
>> bothering the user.
>> 
>> Let me know what you think.
>
>
> I really like  it
> especially as it is  optional

I don't know if there is any way of doing this "automatically", but the 
one beef I have with mergemaster is it prompting me whether I want to 
install the new one if all that has changed is the $Id tag ... I don't 
mind looking at the diff of the ones that there are actual changes to, or 
doing a -U to 'skip' those, but would be nice if the ones that *really* 
haven't changed were done automatically ...

----
Marc G. Fournier           Hub.Org Networking Services (http://www.hub.org)
Email: scrappy at hub.org           Yahoo!: yscrappy              ICQ: 7615664


More information about the freebsd-arch mailing list