WTF mergemaster VCS Id checking?

Benjamin Kaduk kaduk at MIT.EDU
Tue Jan 17 02:25:57 UTC 2012

On Mon, 16 Jan 2012, deeptech71 at wrote:

> Every time I run mergemaster, I have to manually confirm all of the

What is your timescale for "every time"?  One year?  Five years?

> local changes I have done to /etc (ie., state how to merge the
> temporary and existing files), even files have not changed in the
> upstream since the last mergemaster run (for example,
> temproot/etc/master.passwd virtually never changes). This behaviour is
> annoying, but I've already gotten used to it, and thought that it's
> the preferred one, to force a system administrator to review,
> periodically, all changes in /etc.
> I was surprized that today, mergemaster did not mention one of my
> changes in /etc:
> *** Temp ./etc/rc.d/bgfsck and installed have the same CVS Id, deleting
> So it now seems that it actually is intended for mergemaster to
> mention only files that have changed in the upstream since the last
> mergemaster run, but that funtionality fails. Apparently, some

That is correct up to a point.
Now that the main src repository is stored in subversion, a svn2cvs 
exporter is used to populate a cloned CVS tree which is then used for csup 
and friends.  However, the svn2cvs exporter deals poorly with branches and 
causes "version number churn" on many files.

> upstream files have the following VCS Id:
> # $FreeBSD$
> and that anulls version checking. Recently, a lot of files in /etc
> (ie., rc.d files) have received full VCS Id strings, but not all.
> Someone ought to touch files in the subversion repository?

Perhaps, but it's not entirely clear.

Have you considered the -F or -U options to mergemaster?  If I remember 
correctly, -F was added precisely because of this issue you are 

> So in either way you look at it, something is WRONG(TM).
> BTW, off-topic:
> 1. mergemaster outputs "CVS Id", while mergemaster's manpage contains
> "VCS Id". One of these is WRONG(TM). Which one?

Oh, probably the output, but I'm not authoritative.

> 2. mergemaster outputs "Use 'i' to install merged file". TODO: add a "the".

Constructions of this form are quite common in technical writing, though I 
would not object to the addition of the 'the'.

> 3. The BUGS section of mergemaster's manpage is redundant.

Maybe, but sometimes it's worth explicitly mentioning things which should 
go without saying.

-Ben Kaduk

More information about the freebsd-current mailing list