(maintainer question) Possible bug in cvs: cvs diff -uN: -N switch being ignored (disappearing, actually)

Conrad J. Sabatier conrads at cox.net
Wed Aug 31 08:50:11 UTC 2011

On Wed, 31 Aug 2011 09:17:52 +0100
Chris Rees <utisoft at gmail.com> wrote:

> On 31 Aug 2011 01:51, "Conrad J. Sabatier" <conrads at cox.net> wrote:
> >
> > Odd little problem here I'm noticing with cvs.
> >
> > When I do a "cvs diff -uN", for some reason the -N switch is being
> > ignored.  It vanishes completely in the header of the resulting
> > output.  I've been trying to rename one of my patch files to
> > conform to portlint's recommendations, but unless I can get -N to
> > work properly, this is a no-go.  Whether I add 'cvs diff -uN' to
> > my .cvsrc, or explicitly add it at the command line, makes no
> > difference.
> >
> > For instance:
> >
> > [root at serene /usr/ports/net-p2p/lopster]# cvs diff -uN
> > cvs diff: Diffing .
> > Index: Makefile
> > ===================================================================
> > RCS file: /home/ncvs/ports/net-p2p/lopster/Makefile,v
> > retrieving revision 1.44
> > diff -u -r1.44 Makefile
> >        ^
> >        |__ What happened to -N?
> >
> > [snip remainder of diff output]
> >
> > Incidentally, this problem started before I upgraded two days ago
> > from 9.0-BETA1 to 9.0-BETA1, so it's not OS version-related.
> >
> > Any idea what could be causing this and how to correct it?  Is this
> > a bug in cvs?  Should I send-pr it?
> Did you remember to cvs add / rm the files you're adding/removing? Do
> you know what -N does?
> Chris

Well, I'm using a local copy of the FreeBSD CVS repository which I
maintain via csup (from which I do checkouts/updates
of /usr/{doc,ports,src}, so I don't try to do anything that modifies the
repo, but I do like having it around to check log messages and, in the
case of ports maintenance, to create patches.

If I understand correctly, the -N switch to cvs diff should note if a
file has been removed or a new file added, or am I mistaken?  At any
rate, doesn't it seem peculiar that the switch would just be silently
dropped like this?

Anyway, while we're on the subject: since I don't have any commit
privileges (I suppose I could change that on my local copy of the
repo, but I prefer to keep it in a pristine "official" state), what *is*
the proper way to create a diff/patch that incorporates new files, or
renames/deletes old ones?  I understand the add/rm functions, having
used them on my own personal cvs repo that I use for software projects
I'm hacking on, but in dealing with the official repo, some other
approach is needed, I think.


Conrad J. Sabatier
conrads at cox.net

More information about the freebsd-ports mailing list