Subject: CVS setup (was Re: Missing arch/arm/conf/files.arm)
To: Kjetil B. Thomassen <kjetil@thomassen.priv.no>
From: Chris Gilbert <chris@paradox.demon.co.uk>
List: port-arm32
Date: 02/04/2001 21:56:51
On Sunday 04 February 2001  9:21 pm, Kjetil B. Thomassen wrote:
> It turns out that, for some unknown reason, CVS fails to update my arch
> directory with the arm directory from the anoncvs server. I can see it
> at http://cvsweb.netbsd.org/ but still it is not downloaded to my local
> sandbox. The sandbox is a on NetBSD/sparc 1.4 system running a pretty
> recent cvs 1.11 from pkgsrc.
>
> Does anyone out there have any idea of why this is happening?

you're not using -Pd for the update, eg:
cvs -z4 update -PdA
(note I believe the A isn't strictly necessary, but I often do it out of 
habit)

> When we are talking about CVS, there is another thing that I would like
> an answer to, and that is how best to keep a local CVS repository of the
> NetBSD src tree and at the same time keeping it in sync with the NetBSD
> CVS repository.
>
> The reason I ask is that I would like to experiment with the NetBSD
> source code, and still be in sync with the current development.
> Naturally it would be useful for me to have a local repository where I can
> track my local changes.
>
> I probably need to have a separate vendor branch for NetBSD in my
> repository, or is there a better way?

I roughly followed what's on (note I make no promises on accuracy here though 
as I don't know that much about CVS):
http://www.netbsd.org/Documentation/current/#using-anoncvs
to do an initial setup, the easiest way though is to fetch the latest .tgz 
files and untar them under /usr/cvs/anoncvs/src.  This means the dir 
structure is setup as needed.
I've then got a CVS repository in /usr/cvs/local.cvs, and do an initial 
import with:
cvs -d /usr/cvs/local.cvs import -I ! -I CVS netbsd netbsd current-date
Then in /usr/src:
cvs -d /usr/cvs/local.cvs checkout netbsd

Then move all the dirs up out of the netbsd dir into /usr/src.

After the initial import I do something like:
cd /usr/cvs/anoncvs/src
setenv CVS_RSH ssh
cvs -z4 update -PdA  (could use sup here either)
setenv CVSROOT /usr/cvs/local.cvs
cvs import -m "NetBSD Current" -I ! -I CVS netbsd netbsd current-20010204
cd /usr/src
cvs -z4 update -PdA -r current-20010204

Note that this can take a while to do, it depends on your hardware, and 
mostly your disk io when doing the import into the local cvs and then the 
update to /usr/src.  It takes me about 3 hours (or it feels that long) to do 
the complete thing.  I plan to script it up to leave it running when I go to 
work.  Matter of finding the time to do it.  Oh you can also just update 
parts as well.

I find the best time to todo the sync up to the repository is first thing in 
the morning as the states are mostly in bed so the cvs is less loaded.  There 
are 1 or 2 mirrors of CVS around so you may get better performance from them.

info cvs also gives some examples of this as well.

> And, BTW, which list is the best to discuss issues like this?
> current-users comes to mind, but that really doesn't feel right, as this
> has nothing to do with development of the NetBSD source code.

No idea, but any developers list would have been able to help.

Oh if you plan to use current on an RPC you'll need to use one of the recent 
VM patches otherwise it panics during boot (oh only if you've got maxproc 
over about 90)

Cheers,
Chris