<!--#include file="header.html" -->


<h3>Anonymous CVS</h3>

We allow anonymous (read-only) CVS access to everyone.  The first command you
need to run for anonymous CVS access is:
<pre>
cvs -d:pserver:anonymous@busybox.net:/var/cvs login</pre>
<p>
CVS will prompt you for a password. Just press the Enter key (there is no
password for anonymous access).  This step only needs to be done once, the first
time you attempt to access CVS.
<p>
Once the login is complete, you can then check the list of available
CVS modules by running the following command (all on one line):
<pre>
cvs -z3 -d:pserver:anonymous@busybox.net:/var/cvs co -c </pre>

<p>
If you wish, you can then check out a local copy of any of the 
available modules.  The following is an example of how to grab 
a copy of busybox and tinylogin:
<pre>
    cvs -z3 -d:pserver:anonymous@busybox.net:/var/cvs co -P busybox tinylogin</pre>
This will create a directory called <b>busybox</b> and a directory called
<b>tinylogin</b> in the current directory.  These directories contain the
latest and greatest source code for busybox and tinylogin.

<p>
I usually create a ~/.cvsrc file with the following things in it, and I
recommend you should use the same:
<pre>
    -z3
    update -dP
    rdiff -u
    diff -ubBwpN
    checkout -P</pre>

<p> 
Once you've checked out a copy of the source tree, you can update your
source tree at any time so it is in sync with the latest and greatest by
running the command:
<pre>
cvs update</pre>

Because you've only been granted anonymous access to the tree, you won't be
able to commit any changes. Changes can be submitted for inclusion by posting
them to the appropriate mailing list.

<!--#include file="footer.html" -->

