version 1.458, 2016/09/03 01:13:50 |
version 1.459, 2016/09/03 02:59:48 |
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"> |
<meta name="viewport" content="width=device-width, initial-scale=1"> |
<link rel="stylesheet" type="text/css" href="openbsd.css"> |
<link rel="stylesheet" type="text/css" href="openbsd.css"> |
<link rel="canonical" href="https://www.openbsd.org/anoncvs.html"> |
<link rel="canonical" href="https://www.openbsd.org/anoncvs.html"> |
|
<style type="text/css"> |
|
h3 { color: #0000e0; } |
|
</style> |
</head> |
</head> |
|
|
<body bgcolor="#ffffff" text="#000000"> |
<body bgcolor="#ffffff" text="#000000"> |
|
|
of a release. |
of a release. |
|
|
<p> |
<p> |
The major advantage of Anonymous CVS over other source code update |
Anonymous CVS works directly against a central source code repository. |
techniques is that it works directly against a central source code |
This means that you have the full set of CVS commands available to control |
repository or mirror. This means that you have the full set of CVS |
merging and updating your changes with other source changes, performing diffs, |
commands available to control merging and updating your changes with |
change histories and other queries against the central repository. |
other source changes, performing diffs, change histories and other |
In the event that the changes can't be completely merged, CVS provides annotated |
queries against the central repository. |
changes to your local copy and preserves an unmodified copy of your version. |
|
|
<p> |
<p> |
The OpenBSD Project currently has four active source repositories: |
The OpenBSD Project currently has four active source repositories: |
|
|
<li><b>xenocara</b> - xenocara |
<li><b>xenocara</b> - xenocara |
</ul> |
</ul> |
|
|
To summarize, the real strength of using Anonymous CVS is that it is |
<h3 id="CVS">What is CVS?</h3> |
a "tolerant" source code control system - it <b>respects</b> |
|
changes that you have made to your local sources and makes <b> |
|
"best efforts"</b> to update your entire source tree, rather than |
|
leaving you a list of arcane problems that have to be resolved before |
|
continuing. |
|
|
|
<p> |
|
In the event that the changes can't be completely merged, CVS provides a |
|
"soft fallback", providing you with annotated changes to your |
|
local copy, preserving an unmodified copy of your version and continuing |
|
to update any other source modules you requested. |
|
|
|
<h3 id="CVS"><font color="#0000e0">What is CVS?</font></h3> |
|
|
|
<a href="https://savannah.nongnu.org/projects/cvs">CVS</a> is the |
<a href="https://savannah.nongnu.org/projects/cvs">CVS</a> is the |
source code control system used to manage the OpenBSD source tree. |
source code control system used to manage the OpenBSD source tree. |
It implements a central repository for all officially released source code |
It implements a central repository for all officially released source code |
|
|
<li>Read-only access for everyone |
<li>Read-only access for everyone |
</ul> |
</ul> |
|
|
<h3 id="starting"><font color="#0000e0">Getting started using Anonymous |
<h3 id="starting">Getting started using Anonymous CVS</h3> |
CVS</font></h3> |
|
|
|
While you can download the entire source tree from an anoncvs server, |
While you can download the entire source tree from an anoncvs server, you can |
you can often save a lot of time and bandwidth by "preloading" your |
save time and bandwidth by preloading your tree with the source tarballs. |
source tree with the source files from either the OpenBSD CD or from an |
|
FTP server. |
|
This is particularly true if you are running |
This is particularly true if you are running |
<a href="stable.html"><i>-stable</i></a>, as relatively few files change |
<a href="stable.html"><i>-stable</i></a>, as relatively few files change |
between the <i>-release</i> and <i>-stable</i>. |
between the <i>-release</i> and <i>-stable</i>. |
|
|
<p> |
<p> |
To extract the source tree from the CD to <i>/usr/src</i> (assuming the CD is |
The source files for download from the <a href="ftp.html">mirrors</a> are |
mounted on /mnt): |
separated into two files to reduce the time required to download for those |
|
wishing to work with only one part of the tree. |
|
The kernel sources are in <tt>sys.tar.gz</tt> and the userland sources |
|
are in <tt>src.tar.gz</tt>. |
|
|
<blockquote><pre> |
<blockquote><pre> |
# <b>cd /usr/src</b> |
# <b>cd /usr/src</b> |
# <b>tar xzf /mnt/src.tar.gz</b> |
|
# <b>cd /usr</b> |
|
# <b>tar xzf /mnt/xenocara.tar.gz</b> |
|
# <b>tar xzf /mnt/ports.tar.gz</b> |
|
</pre></blockquote> |
|
|
|
The source files for download from the FTP servers are separated into two |
|
files to minimize the time required to download for those wishing to work |
|
with only one part of the tree. The two files are <tt>sys.tar.gz</tt>, |
|
which contains the files used to create the kernel, and <tt>src.tar.gz</tt> |
|
which contains all the other "userland" utilities. |
|
In general, however, you will usually want both of them installed. |
|
Assuming the downloaded files, <tt>src.tar.gz</tt>, |
|
<tt>sys.tar.gz</tt> and <tt>xenocara.tar.gz</tt> are in <tt>/tmp</tt>: |
|
|
|
<blockquote><pre> |
|
# <b>cd /usr/src</b> |
|
# <b>tar xzf /tmp/src.tar.gz</b> |
# <b>tar xzf /tmp/src.tar.gz</b> |
# <b>tar xzf /tmp/sys.tar.gz</b> |
# <b>tar xzf /tmp/sys.tar.gz</b> |
# <b>cd /usr</b> |
# <b>cd /usr</b> |
|
|
# <b>tar xzf /tmp/ports.tar.gz</b> |
# <b>tar xzf /tmp/ports.tar.gz</b> |
</pre></blockquote> |
</pre></blockquote> |
|
|
Not all people will wish to unpack all the file sets, but as the system |
<h3 id="using">Using CVS to get and update your source tree</h3> |
must be kept in sync, you will generally need to set up all trees. |
|
|
|
<p> |
|
You can also just use cvs(1) to "<b>checkout</b>" the source repository |
|
for you. This is discussed in the <a href="#using">next section</a>. |
|
|
|
<p> |
|
After this, <tt>/usr/src</tt> will be a nice checkout area where all |
|
<a href="http://man.openbsd.org/cvs">cvs(1)</a> commands will work properly. |
|
|
|
<h3 id="using"><font color="#0000e0">Using CVS to get and update your |
|
source tree</font></h3> |
|
|
|
CVS was designed to be a simple way to retrieve and update your sources. |
CVS was designed to be a simple way to retrieve and update your sources. |
You must first decide whether you want to track <i>-current</i> or a |
You must first decide whether you want to track <i>-current</i> or a |
<a href="stable.html">patch branch</a>. |
<a href="stable.html">patch branch</a>. |
The current tree has all of the up to the minute changes, |
The current tree has all of the up to the minute changes, |
whereas a patch branch contains a formal release plus the patches |
whereas the patch branch contains the sources for the release plus the patches |
from the <a href="errata.html">errata</a> and lesser issues already applied. |
from the <a href="errata.html">errata</a> and lesser issues already applied. |
For more information on these "flavors" of OpenBSD, see |
For more information on the flavors of OpenBSD, see |
<a href="faq/faq5.html#Flavors">here</a>. |
<a href="faq/faq5.html#Flavors">here</a>. |
|
|
<p> |
<p> |
Once you have decided which tree to follow, you must choose which Anonymous |
Choose the Anonymous CVS server you are going to use from the |
CVS server you are going to use. A list of these servers is |
<a href="#CVSROOT">list of servers</a> below, then you can start using cvs. |
<a href="#CVSROOT">below</a>. |
|
|
|
<p> |
|
Once you have chosen which server you will use, you can start using cvs. |
|
If you begin with <tt>src.tar.gz</tt> and <tt>sys.tar.gz</tt> as mentioned |
If you begin with <tt>src.tar.gz</tt> and <tt>sys.tar.gz</tt> as mentioned |
above, you can skip the initial <tt>get</tt> and proceed to updating. |
above, you can skip the initial <tt>get</tt> and proceed to updating. |
|
|
|
|
<li>First, start out by getting an initial tree: |
<li>First, start out by getting an initial tree: |
|
|
<p> |
<p> |
(If you are following <i>current</i>): |
If you are following <i>current</i>: |
|
|
<blockquote><pre> |
<blockquote><pre> |
$ <b>cd /usr</b> |
$ <b>cd /usr</b> |
$ <b>cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P src</b> |
$ <b>cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P src</b> |
</pre></blockquote> |
</pre></blockquote> |
|
|
(If you are following the patch branch for 6.0): |
If you are following the patch branch for 6.0: |
|
|
<blockquote><pre> |
<blockquote><pre> |
$ <b>cd /usr</b> |
$ <b>cd /usr</b> |
|
|
Warning: Permanently added 'anoncvs.spacehopper.org' (ED25519) to the list of known hosts.</b> |
Warning: Permanently added 'anoncvs.spacehopper.org' (ED25519) to the list of known hosts.</b> |
</pre></blockquote> |
</pre></blockquote> |
|
|
<li> Any time afterwards, to `update' this tree: |
<li> Any time afterwards, to update this tree: |
|
|
<p> |
<p> |
(If you are following <i>current</i>): |
If you are following <i>current</i>: |
|
|
<blockquote><pre> |
<blockquote><pre> |
$ <b>cd /usr/src</b> |
$ <b>cd /usr/src</b> |
$ <b>cvs -q up -Pd</b> |
$ <b>cvs -q up -Pd</b> |
</pre></blockquote> |
</pre></blockquote> |
|
|
(If you are following the patch branch for 6.0): |
If you are following the patch branch for 6.0: |
|
|
<blockquote><pre> |
<blockquote><pre> |
$ <b>cd /usr/src</b> |
$ <b>cd /usr/src</b> |
|
|
<ul><li> |
<ul><li> |
|
|
<p> |
<p> |
(If you are following <i>current</i>): |
If you are following <i>current</i>: |
|
|
<blockquote><pre> |
<blockquote><pre> |
$ <b>cd /usr</b> |
$ <b>cd /usr</b> |
$ <b>cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P ports</b> |
$ <b>cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P ports</b> |
</pre></blockquote> |
</pre></blockquote> |
|
|
(If you are following the patch branch for 6.0): |
If you are following the patch branch for 6.0: |
|
|
<blockquote><pre> |
<blockquote><pre> |
$ <b>cd /usr</b> |
$ <b>cd /usr</b> |
|
|
<li> Any time afterwards, to update this tree: |
<li> Any time afterwards, to update this tree: |
|
|
<p> |
<p> |
(If you are following <i>current</i>): |
If you are following <i>current</i>: |
|
|
<blockquote><pre> |
<blockquote><pre> |
$ <b>cd /usr/ports</b> |
$ <b>cd /usr/ports</b> |
$ <b>cvs -q up -Pd</b> |
$ <b>cvs -q up -Pd</b> |
</pre></blockquote> |
</pre></blockquote> |
|
|
(If you are following the patch branch for 6.0): |
If you are following the patch branch for 6.0: |
|
|
<blockquote><pre> |
<blockquote><pre> |
$ <b>cd /usr/ports</b> |
$ <b>cd /usr/ports</b> |
|
|
As well, people providing patches can create their diffs relative |
As well, people providing patches can create their diffs relative |
to the CVS tree, which will ease integration. |
to the CVS tree, which will ease integration. |
|
|
<h3 id="EXAMPLE"><font color="#0000e0">Example usage for cvs(1)</font></h3> |
<h3 id="EXAMPLE">Example usage for cvs(1)</h3> |
|
|
A sample use of an anoncvs server would be: |
A sample use of an anoncvs server would be: |
|
|
|
|
[shows the changes between revisions 1.1 and rev 1.5] |
[shows the changes between revisions 1.1 and rev 1.5] |
</pre></blockquote> |
</pre></blockquote> |
|
|
<h3 id="CVSROOT"><font color="#0000e0">Available Anonymous CVS Servers |
<h3 id="CVSROOT">Available Anonymous CVS servers</h3> |
</font></h3> |
|
|
|
<ul> |
<ul> |
<li><strong>CVSROOT=anoncvs@anoncvs.au.openbsd.org:/cvs</strong><br> |
<li><strong>CVSROOT=anoncvs@anoncvs.au.openbsd.org:/cvs</strong><br> |