version 1.35, 1997/11/24 18:26:45 |
version 1.36, 1997/11/30 14:42:38 |
|
|
<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. |
</p> |
|
<p> |
<p> |
The major advantage of Anonymous CVS over other source code update |
The major advantage of Anonymous CVS over other source code update |
techniques is that it works directly against a central source code |
techniques is that it works directly against a central source code |
|
|
commands available to control merging and updating your changes with |
commands available to control merging and updating your changes with |
other source changes and for performing diff's, change histories |
other source changes and for performing diff's, change histories |
and other queries against the central repository. |
and other queries against the central repository. |
</p> |
<p> |
|
You can use anoncvs to access our three main source repositories: |
|
<strong>src</strong>, <strong>ports</strong>, and <strong>www</strong>. |
|
<p> |
<h3>CVS:</h3> |
<h3>CVS:</h3> |
<a href=why-cvs.html>CVS is the source code control system used to manage the OpenBSD source tree.</a> |
<a href=why-cvs.html> |
|
CVS is the source code control system used to manage the OpenBSD source tree.</a> |
It implements a central repository for all officially released source code |
It implements a central repository for all officially released source code |
and changes, while permitting developers to maintain local copies of the |
and changes, while permitting developers to maintain local copies of the |
source code with their working changes. Developers with "write access" |
source code with their working changes. Developers with "write access" |
can commit changes directly to the OpenBSD source tree, while "Anonymous |
can commit changes directly to the OpenBSD source tree, while "Anonymous |
CVS" users have "read access" and can keep their local copies of the source |
CVS" users have "read access" and can keep their local copies of the source |
up to date and issue queries against the central depository. |
up to date and issue queries against the central depository. |
</p> |
|
<p> |
<p> |
The major strength of CVS is that it has the ability to perform intelligent |
The major strength of CVS is that it has the ability to perform intelligent |
merges of changes to the central repository with changes that you make to |
merges of changes to the central repository with changes that you make to |
|
|
perform an update, your changes are not "blown away", rather CVS makes |
perform an update, your changes are not "blown away", rather CVS makes |
best efforts to merge the changes made to the central sources with changes |
best efforts to merge the changes made to the central sources with changes |
you've made to your local copy. |
you've made to your local copy. |
</p> |
|
<p> |
<p> |
In the event that the changes can't be completely merged, CVS provides a |
In the event that the changes can't be completely merged, CVS provides a |
"soft fallback", in terms of providing you with annotated changes to your |
"soft fallback", in terms of providing you with annotated changes to your |
local copy, preeserving an unmodified copy of your version and continuing |
local copy, preeserving an unmodified copy of your version and continuing |
to update any other source modules you requested. |
to update any other source modules you requested. |
</p> |
|
<p> |
<p> |
People who own an OpenBSD CD may have seen the CVS/ dirs on it. |
People who own an OpenBSD CD may have seen the CVS/ dirs on it. |
Actually there is a reason, the CD has a checkout of the OpenBSD src/ module |
Actually there is a reason, the CD has a checkout of the OpenBSD src/ module |
|
|
</ul> |
</ul> |
After this, /usr/src will be a nice checkout area where all cvs(1) commands |
After this, /usr/src will be a nice checkout area where all cvs(1) commands |
will work OK. |
will work OK. |
</p> |
|
<h4>CVS COMMAND SUMMARY</h4> |
<h4>CVS COMMAND SUMMARY</h4> |
<dt> cvs [cvs args] [cvs command] [cvs command args] |
<dt> cvs [cvs args] [cvs command] [cvs command args] |
<dd> below is a listing of commonly used cvs commands. |
<dd> below is a listing of commonly used cvs commands. |
|
|
"best efforts"</strong> to update your entire source tree, rather than |
"best efforts"</strong> to update your entire source tree, rather than |
leaving you a list of arcane problems that have to be resolved before |
leaving you a list of arcane problems that have to be resolved before |
continuing. |
continuing. |
</p> |
|
|
|
<h3>Using Anonymous CVS:</h3> |
<h3>Using Anonymous CVS:</h3> |
<p> |
<p> |
|
|
<a href=ftp://ftp.cyclic.com/pub/cvs/>Cyclic</a>. |
<a href=ftp://ftp.cyclic.com/pub/cvs/>Cyclic</a>. |
Versions earlier than 1.6 are not recommended, and may not work. |
Versions earlier than 1.6 are not recommended, and may not work. |
If you already have OpenBSD installed, CVS is included. |
If you already have OpenBSD installed, CVS is included. |
</p> |
|
|
|
<p> |
<p> |
There are two levels of source tree access: |
There are two levels of source tree access: |
</p> |
|
|
|
<dl> |
<dl> |
<dt><strong>Read-write access for developers:</strong> |
<dt><strong>Read-write access for developers:</strong> |
|
|
Problems with a server should be reported to the <b>maintainer</b> of the |
Problems with a server should be reported to the <b>maintainer</b> of the |
server in question. |
server in question. |
</dl> |
</dl> |
</p> |
|
<p> |
<p> |
<strong>IMPORTANT NOTE:</strong> |
<strong>IMPORTANT NOTE:</strong> |
There are a few issues relating to cryptographic software that everyone |
There are a few issues relating to cryptographic software that everyone |
|
|
<li>src/kerberosIV/* |
<li>src/kerberosIV/* |
<li>src/lib/libc/crypt/crypt.c |
<li>src/lib/libc/crypt/crypt.c |
<li>src/lib/libc/crypt/morecrypt.c |
<li>src/lib/libc/crypt/morecrypt.c |
|
<li>src/sys/netinet |
</ul> |
</ul> |
Because of the USA ITAR munitions list, |
Because of the USA ITAR munitions list, |
crypto software may only be exported to Canada from the USA. |
crypto software may only be exported to Canada from the USA. |
|
|
<li>The OpenBSD project is looking for more anoncvs servers -- read |
<li>The OpenBSD project is looking for more anoncvs servers -- read |
on to find out how you can help. |
on to find out how you can help. |
</ul> |
</ul> |
</p> |
|
|
|
<p> |
<p> |
A sample use of an anoncvs CVS server would be: |
A sample use of an anoncvs CVS 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> |
</pre> |
</ul> |
</ul> |
</p> |
|
|
|
<p> |
<p> |
<a name=pserver>In order to use a cvs ``pserver'' (a direct tcp connection instead of using ssh or rsh) you must login once:</a> |
<a name=pserver>In order to use a cvs ``pserver'' (a direct tcp connection instead of using ssh or rsh) you must login once:</a> |
|
|
[allows you to retrieve ONLY that necessary to rebuild an i386 kernel ] |
[allows you to retrieve ONLY that necessary to rebuild an i386 kernel ] |
[ -z9 allows gzip -9 compression, GOOD medicine for slow links ] |
[ -z9 allows gzip -9 compression, GOOD medicine for slow links ] |
</pre> |
</pre> |
</p> |
|
|
|
<p> |
<p> |
Here is how someone using anoncvs regularily would update his |
Here is how someone using anoncvs regularily would update his |
|
|
In the above example, '-q' is optional, only intended to minimize |
In the above example, '-q' is optional, only intended to minimize |
cvs's output. For those who like to see screenfulls of output, it |
cvs's output. For those who like to see screenfulls of output, it |
can be omitted. |
can be omitted. |
</p> |
|
|
|
<p> |
<p> |
or to make a diff of a locally patched module (here cd.c) to include with |
or to make a diff of a locally patched module (here cd.c) to include with |
|
|
# cd /usr |
# cd /usr |
# cvs diff -u src/sys/scsi/cd.c > /tmp/patch |
# cvs diff -u src/sys/scsi/cd.c > /tmp/patch |
</pre> |
</pre> |
</p> |
|
|
|
<p> |
<p> |
The CVS man page (included with the CVS sources) has much more |
The CVS man page (included with the CVS sources) has much more |
information about how CVS can be used. |
information about how CVS can be used. |
</p> |
|
|
|
<p> |
<p> |
<strong>Warning:</strong> |
<strong>Warning:</strong> |
|
|
the root of the tree you're referencing or in a separate place such as /tmp. |
the root of the tree you're 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. |
</p> |
|
|
|
<p> |
<p> |
The anoncvs service gives fledgling developers a chance to learn CVS |
The anoncvs service gives fledgling developers a chance to learn CVS |
|
|
skills and high quality results they will naturally later be given |
skills and high quality results they will naturally later be given |
developer access. As well, people providing patches can create |
developer access. As well, people providing patches can create |
their "diff"s relative to the CVS tree, which will ease integration. |
their "diff"s relative to the CVS tree, which will ease integration. |
</p> |
|
|
|
<p> |
<p> |
<strong>Anoncvs: rsh vs. ssh</strong> |
<strong>Anoncvs: rsh vs. ssh</strong> |
|
|
installed under OpenBSD. You can download the unix version from |
installed under OpenBSD. You can download the unix version from |
<a href=http://www.cs.hut.fi/ssh>http://www.cs.hut.fi/ssh</a> or one of |
<a href=http://www.cs.hut.fi/ssh>http://www.cs.hut.fi/ssh</a> or one of |
the mirrors listed there. |
the mirrors listed there. |
</p> |
|
|
|
<p> In this case, one sets the environment variable |
<p> In this case, one sets the environment variable |
<strong>CVS_RSH</strong> to point to ssh (typically |
<strong>CVS_RSH</strong> to point to ssh (typically |
<strong>/usr/local/bin/ssh</strong>). If your local site prevents you |
<strong>/usr/local/bin/ssh</strong>). If your local site prevents you |
from connecting out to port 22 (which ssh defaults to using) use port |
from connecting out to port 22 (which ssh defaults to using) use port |
2022. |
2022. |
</p> |
|
|
|
<p> |
<p> |
Do not be tempted to turn on compression since CVS already compresses. |
Do not be tempted to turn on compression since CVS already compresses. |
|
|
port 2022. Also note that most anoncvs servers no longer accept |
port 2022. Also note that most anoncvs servers no longer accept |
the <strong>none</strong> cipher as it is disabled in recent |
the <strong>none</strong> cipher as it is disabled in recent |
versions of ssh for security reasons. |
versions of ssh for security reasons. |
</p> |
|
<pre> |
<pre> |
Host anoncvs.usa.openbsd.org |
Host anoncvs.usa.openbsd.org |
Port 2022 |
Port 2022 |
|
|
<pre> |
<pre> |
setenv CVS_CLIENT_PORT -1 |
setenv CVS_CLIENT_PORT -1 |
</pre> |
</pre> |
</p> |
|
|
|
<p> |
<p> |
If you wish to change from one CVS server to another (say your normal one is |
If you wish to change from one CVS server to another (say your normal one is |
|
|
<pre> |
<pre> |
setenv CVS_IGNORE_REMOTE_ROOT |
setenv CVS_IGNORE_REMOTE_ROOT |
</pre> |
</pre> |
</p> |
|
|
|
<p> |
<p> |
If you wish to be a new anoncvs mirror site, please contact the anoncvs |
If you wish to be a new anoncvs mirror site, please contact the anoncvs |
|
|
network connectivity for the area they are expected to serve. A |
network connectivity for the area they are expected to serve. A |
<a href=anoncvs.shar>document</a> |
<a href=anoncvs.shar>document</a> |
which describes the setup of anoncvs servers is available. |
which describes the setup of anoncvs servers is available. |
</p> |
|
|
|
</dl> |
</dl> |
|
|