Re: WTF mergemaster VCS Id checking?

2012-01-16 Thread Doug Barton
On 01/15/2012 23:31, deeptec...@gmail.com wrote:
> Apparently, some upstream files have the following VCS Id:
> # $FreeBSD$
> and that anulls version checking.

Your src tree is not checked out properly. This usually happens because
at some point in the subversion 1.6 days you used devel/subversion to
check it out, rather than devel/subversion-freebsd. Fortunately, the new
version of devel/subversion has the option to include the
FreeBSD-specific bits, enabled by default. So, to fix this problem:

1. 'svn diff' your src tree, save any local patches.
2. rm -rf /usr/src
3. Upgrade devel/subversion, make sure that the first 3 options are
enabled.
4. Check out the new src tree, re-apply any local patches
5. Run mergemaster again. Make sure to merge the new $FreeBSD Ids.

> BTW, off-topic:
> 1. mergemaster outputs "CVS Id", while mergemaster's manpage contains
> "VCS Id". One of these is WRONG(TM). Which one?

The 'CVS Id' is a remnant of the pre-svn days. I haven't changed it in
case someone has a script that parses the output.

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

Maybe. It's lasted as long as it has without anyone getting confused.

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

So don't read it. :)


Doug

-- 

It's always a long day; 86400 doesn't fit into a short.

Breadth of IT experience, and depth of knowledge in the DNS.
Yours for the right price.  :)  http://SupersetSolutions.com/

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: WTF mergemaster VCS Id checking?

2012-01-16 Thread Benjamin Kaduk

On Mon, 16 Jan 2012, deeptec...@gmail.com 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 
encountering.




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
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


WTF mergemaster VCS Id checking?

2012-01-15 Thread deeptec...@gmail.com
Every time I run mergemaster, I have to manually confirm all of the
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
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?

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?
2. mergemaster outputs "Use 'i' to install merged file". TODO: add a "the".
3. The BUGS section of mergemaster's manpage is redundant.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"