version 1.108, 2000/05/23 08:55:44 |
version 1.109, 2000/05/28 19:02:33 |
|
|
<p> |
<p> |
Anonymous CVS is a method of keeping your local copy of the OpenBSD source |
Anonymous CVS is a method of keeping your local copy of the OpenBSD source |
tree up to date with respect to changes made to current OpenBSD sources. |
tree up to date with respect to changes made to current OpenBSD sources. |
|
In addition to following the bleeding edge of development, it is |
|
also possible to track the patches for errata of a release. |
</p> |
</p> |
|
|
<p> |
<p> |
|
|
<h3><font color=#0000e0>Using CVS(1) to get and update your source tree.</font></h3> |
<h3><font color=#0000e0>Using CVS(1) to get and update your source tree.</font></h3> |
|
|
<p> |
<p> |
CVS was designed to be a simple way to retrive and update your sources, therefore there |
CVS was designed to be a simple way to retrieve and update your sources, |
isn't much involved at all in doing so. To start off you must know which Anonymous CVS server you are going to use. A list of these servers is <a href="#CVSROOT">below</a>. |
therefore there isn't much involved at all in doing so. You must first |
Do, however, notice that there are only 3 ways to access these servers. |
decide whether you want to track <i>current</i> or a patch branch. |
|
source tree. The current tree has all of the up to the minute changes, |
|
whereas a patch branch contains a formal release plus the patches |
|
from the <a href="errata.html">errata</a> already applied. |
|
|
|
<p>Once you have decided which tree to follow, you much choose which Anonymous |
|
CVS server you are going to use. A list of these servers is |
|
<a href="#CVSROOT">below</a>. Do, however, notice that there are 3 ways |
|
to access these servers. |
</p> |
</p> |
|
|
<ul> |
<ul> |
|
|
</p> |
</p> |
|
|
<p> |
<p> |
The above will checkout the most current sources. Many of you will only want the release sources, especially if you are patching your system. To checkout release sources you must specify a tag along with your command. Example: |
The above will checkout the <i>current</i> source tree. Many of you will |
|
only want a patch branch sources. To checkout a patch branch, you must |
|
specify a tag along with your command. Example: |
</p> |
</p> |
|
|
<p> |
<p> |
<ul><pre> |
<ul><pre> |
# <b>cd /usr; cvs checkout -rOPENBSD_2_6 src</b> |
# <b>cd /usr; cvs checkout -P -rOPENBSD_2_7 src</b> |
</ul></pre> |
</ul></pre> |
Or OPENBSD_2_5 for 2.5, etc. |
Or OPENBSD_2_6 for 2.6, etc. |
</p> |
</p> |
|
|
|
<p> Currently only the OPENBSD_2_7 tag contains the release sources and |
|
errata already applied. |
|
|
<a name="CVSROOT"></a> |
<a name="CVSROOT"></a> |
<h3><font color=#0000e0>Available Anonymous CVS Servers.</font></h3> |
<h3><font color=#0000e0>Available Anonymous CVS Servers.</font></h3> |
|
|
source tree: |
source tree: |
<ul><li>First, start out by `get'-ing an initial tree: |
<ul><li>First, start out by `get'-ing an initial tree: |
|
|
|
<p> (If you are following <i>current</i>): |
<ul><pre> |
<ul><pre> |
# <strong>setenv CVSROOT anoncvs@anoncvs.ca.openbsd.org:/cvs</strong> |
# <strong>setenv CVSROOT anoncvs@anoncvs.ca.openbsd.org:/cvs</strong> |
# <strong>cd /usr</strong> |
# <strong>cd /usr</strong> |
# <strong>cvs -q get -PA src</strong> |
# <strong>cvs -q get -PA src</strong> |
</pre></ul> |
</pre></ul> |
|
|
|
<p> (If you are following the patch branch for 2.7): |
|
<ul><pre> |
|
# <strong>setenv CVSROOT anoncvs@anoncvs.ca.openbsd.org:/cvs</strong> |
|
# <strong>cd /usr</strong> |
|
# <strong>cvs -q get -rOPENBSD_2_7 -P src</strong> |
|
</pre></ul> |
</li> |
</li> |
|
|
<li> Anytime afterwards, to `update' this tree: |
<li> Anytime afterwards, to `update' this tree: |
|
<p> (If you are following <i>current</i>): |
<ul><pre> |
<ul><pre> |
# <strong>cd /usr/src</strong> |
# <strong>cd /usr/src</strong> |
# <strong>cvs -q up -PAd</strong> |
# <strong>cvs -q up -PAd</strong> |
</pre></ul> |
</pre></ul> |
|
|
|
<p> (If you are following the patch branch for 2.7): |
|
<ul><pre> |
|
# <strong>cd /usr/src</strong> |
|
# <strong>cvs -q up -rOPENBSD_2_7 -Pd</strong> |
|
</pre></ul> |
|
|
Everytime you ran this it would synchronize your /usr/src tree. It would |
Everytime you ran this it would synchronize your /usr/src tree. It would |
not destroy any of your local changes, rather it would attempt to merge |
not destroy any of your local changes, rather it would attempt to merge |
changes in. If you use obj directories (not obj symbolic links) you may |
changes in. If you use obj directories (not obj symbolic links) you may |
|
|
encounter which are not in the repository. |
encounter which are not in the repository. |
|
|
<p> |
<p> |
<li> NOTE: if you are updating a source tree that you initially fetched |
<li> NOTES: if you are updating a source tree that you initially fetched |
from a different server, or from a CD, you <strong>must</strong> |
from a different server, or from a CD, you <strong>must</strong> |
add the <em>-d $CVSROOT</em> options to cvs. You must also set the |
add the <em>-d $CVSROOT</em> options to cvs. You must also set the |
<em>CVS_IGNORE_REMOTE_ROOT</em> environment variable. |
<em>CVS_IGNORE_REMOTE_ROOT</em> environment variable. If you are following |
|
a patch branch, be sure to always <strong>omit</strong> the <code>-A</code> |
|
flag to cvs, or you may find yourself tracking <i>current</i> instead. |
|
|
|
<p> (If you are following <i>current</i>): |
<ul><pre> |
<ul><pre> |
# <strong>cd /usr/src</strong> |
# <strong>cd /usr/src</strong> |
# <strong>cvs -d $CVSROOT -q up -PAd</strong> |
# <strong>cvs -d $CVSROOT -q up -PAd</strong> |
</pre></ul> |
</pre></ul> |
|
|
|
<p> (If you are following a patch branch): |
|
<ul><pre> |
|
# <strong>cd /usr/src</strong> |
|
# <strong>cvs -d $CVSROOT -q up -Pd</strong> |
|
</pre></ul> |
|
|
</li> |
</li> |
</ul> |
</ul> |
|
|
|
|
<p> |
<p> |
<strong>Warning:</strong> |
<strong>Warning:</strong> |
When using cvs you should take care that your current directory is either |
When using cvs you should take care that your current directory is either |
the root of the tree you're referencing or in a separate place such as /tmp. |
the root of the tree you are referencing or in a separate place such as /tmp. |
Some commands such as "get" can create an arbitrary sub-tree in the current |
Some commands such as "get" can create an arbitrary sub-tree in the current |
directory, and a subsequent update will recursively flesh out this sub-tree. |
directory, and a subsequent update will recursively flesh out this sub-tree. |
|
|