Subject: Re: cvs "-u" versus "-R" (May be: potential rant about cvsup)
To: None <current-users@netbsd.org>
From: BOUWSMA Beery <netbsd-user@dcf77-zeit.netscum.dyndns.dk>
List: current-users
Date: 02/01/2002 22:11:03
Mahlzeit!
%s wrote on %.3s, %lld Sep 1993

> > to see the `-R' option added to `cvs' for a read-only repository
> 
> Oh, great.  FreeBSD used "cvs -R" and NetBSD uses "cvs -u" for much the
> same purposes.  I am not sure which came first.

It does?  Kewl!  Thanks!  I hadn't noticed that when skimming the man
page.  I'll try it Real Soon Now[tm].

Um, in reviewing the man page to see just how `-u' works, I don't seem
to be seeing anything.  Could be just me.  I'd try it now, but I'm in
FreeBSD at the moment (since my NetBSD build bombed)...


Speaking of the build bombing, I skimmed the archives from 1999 given
that I've been using `cvsup' to obtain the CVS RCS file repository, so
I probably should think twice or five times about saying anything,
but...

I ran into the -current build problems others have noted already, both
with a -j # build, and later on without.  Many of the unofficial cvsup
mirrors seem to be some days out-of-date, or otherwise unpleasantly
munge my local repository.  I assume they're having problems using `sup'
or similar to get up-to-date at the moment.

So I've found that cvsup.jp.netbsd.org appears the most up-to-date,
giving deltas dated today, but also giving a lot of errors (and actually
failing to complete the update of basesrc yesterday, but today is fine).

Here's a taste of the build failure I had:
  [major snippage]
/usr/src/tools/mtree/../compat/compat_defs.h:175: warning: `bswap32' redefined
/usr/include/machine/bswap.h:15: warning: this is the location of the previous d
efinition
/usr/src/tools/mtree/../../usr.sbin/mtree/spec.c: In function `spec':
/usr/src/tools/mtree/../../usr.sbin/mtree/spec.c:123: `FPARSELN_UNESCCOMM' undec
lared (first use in this function)
  [more snippage]

Now, I see boatloads of cvsup server errors when updating from cvsup.jp,
such as
Server warning: RCS file error in "/etc/cvsupd/prefixes/NetBSD.cvs/basesrc/usr.s
bin/mtree/create.c,v": 28: "Colon" expected
Server warning: RCS file error in "/etc/cvsupd/prefixes/NetBSD.cvs/basesrc/usr.s
bin/mtree/spec.c,v": 28: "Semicolon" expected
and I get date stamps like
/*      $NetBSD: compat_defs.h,v 1.4 2002/01/31 22:43:45 tv Exp $       */
/*      $NetBSD: spec.c,v 1.44 2002/01/29 10:20:38 tv Exp $     */


Ummm...  I wanted to check cvsweb.netbsd.org to see if spec.c has a more
recent update, but it appears that whole site has problems too (trimmed):

   Current directory: [cvs.netbsd.org] / basesrc / usr.sbin / mtree
   [DIR] Attic/   [Don't hide]
   [TXT] Makefile  1.23   3 days  tv   Add hooks to make mtree compilable
   from src/tools.
   [TXT] excludes.c  1.8   21 hours  tv   Roll in fixes to permit
   cross-compiling from non-NetBSD hosts. This round has b...
     _________________________________________________________________
    CVSweb by <webmaster@jp.netbsd.org>

Ooops.  So much for that way of checking.  I have slightly better
results (more files, at least) in cvsweb.freebsd.org, except when I
look at compat_defs.h --
   [TXT] compat_defs.h  1.3   3 days  tv   Make almost all tools compile
   and run properly on non-NetBSD hosts. (In particu...

Very nice.  I can either get an up-to-date repository from Japan with
major corruption, or I can get a couple-day-old repository elsewhere...

I'm going to guess that this is solely my build problem, and that I
should have a 1.45 revision of spec.c,v in my local repository, after
which things will be groovy.  Er, with up-to-date updates of all other
files too.


I gather than `sup' is the (or one of several) way to get the Real CVS
RCS repository.  And that any site offering `cvsup' is basically doing a
roll-their-own offering that's pulled by `sup' or some other means.

Is there some way other than `sup' to get the RCS files proper?  From
all the horror stories I read, I eyeball `sup' like a plate of juicy worms.
On the other hand, if cvsup.no and .de and .uk are significantly behind
cvsup.jp, I can't imagine myself having better luck with `sup' than they
do now behind a mere Cabal Modem, and even less on a dial-up.

Can I assume that the problems reported by the cvsup.jp swerver (I only
gave a couple lines; my last session had some 50 or more such server
errors of various types) are a result of a problem in transferring the
latest updates to the repository to Japan?  Or are these problems with
the source that Japan is somehow getting?


I've got more questions, rants, and whatnot.  I might even be moved to
try `sup' to compare, but when I can get all updates to a complete CVS
repository tree of all FreeBSD source and ports in a minute from a
nearby mirror, and it takes 5 minutes to update NetBSD from Japan somewhat
inefficiently, yet I read about people spending eight hours dial-up with
`sup' and still having problems, then, well, not that I want to rekindle
the flamefest of 1999...


If there are other means to update the CVS repository itself than `sup',
can someone identify that used by cvsup.jp?  I've not seen such problems
on cvsup.uk.netbsd.org, but I have seen it delete deltas received from
cvsup.no (and now .jp) as if it's lagging a day or two behind updating.
Also, cvsup.no seemed to fail to be updated recently too.


Thanks for any enlightenment, including confirmation that my source is
a hodge-podge of updated and non-updated files and failures are to be
expected, or whatever...

And I *will* try `cvs -u' under NetBSD to see if it's what I seek


thanks
barry bouwsma