Mergemaster enhancement

Bjorn Nelson o_sleep at belovedarctos.com
Sat Apr 15 14:38:24 UTC 2006


Gordon,

I modified mergemaster with a different approach:  Only if you check  
in a file to RCS will mergemaster do a diff, otherwise it will  
overwrite it.  This is nice because it forces you to version your  
configs :)

Just put the following line in /etc/mergemaster.rc:
MM_PRE_COMPARE_SCRIPT=/directory/precompare_mm.sh

I wrote about this script:
http://www.onlamp.com/bsd/2006/04/13/examples/precompare_mm.sh

in an article I recently published:
http://www.onlamp.com/pub/a/bsd/2006/04/13/freebsd-build-system.html

-Bjorn

On Apr 13, 2006, at 3:23 AM, 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.
>
> Thanks,
> -gordon
> _______________________________________________
> freebsd-arch at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch- 
> unsubscribe at freebsd.org"



More information about the freebsd-arch mailing list