Now that I've set up anoncvs for FreeBSD (thanks to ulf@freebsd.org for the
first server), document the fact.
This commit is contained in:
parent
d07e465d9e
commit
b3ef6e6b4b
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=2760
4 changed files with 204 additions and 27 deletions
|
@ -1,9 +1,9 @@
|
|||
# $Id: Makefile,v 1.31 1998-04-30 10:31:00 obrien Exp $
|
||||
# $Id: Makefile,v 1.32 1998-04-30 12:51:11 jkh Exp $
|
||||
|
||||
SGMLOPTS=-links
|
||||
SRCS= authors.sgml backups.sgml basics.sgml bibliography.sgml boothelp.sgml
|
||||
SRCS+= booting.sgml contrib.sgml crypt.sgml ctm.sgml current.sgml cvsup.sgml
|
||||
SRCS+= cyclades.sgml development.sgml dialup.sgml dialout.sgml
|
||||
SRCS= anoncvs.sgml authors.sgml backups.sgml basics.sgml bibliography.sgml
|
||||
SRCS+= boothelp.sgml booting.sgml contrib.sgml crypt.sgml ctm.sgml current.sgml
|
||||
SRCS+= cvsup.sgml cyclades.sgml development.sgml dialup.sgml dialout.sgml
|
||||
SRCS+= disks.sgml diskless.sgml dma.sgml eresources.sgml esdi.sgml
|
||||
SRCS+= firewalls.sgml german.sgml glossary.sgml goals.sgml
|
||||
SRCS+= handbook.sgml history.sgml hw.sgml install.sgml isdn.sgml
|
||||
|
|
166
handbook/anoncvs.sgml
Normal file
166
handbook/anoncvs.sgml
Normal file
|
@ -0,0 +1,166 @@
|
|||
<!-- $Id: anoncvs.sgml,v 1.1 1998-04-30 12:51:12 jkh Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect1><heading>Anonymous CVS<label id="anoncvs"></heading>
|
||||
|
||||
<p><em>Contributed by &a.jkh;</em>
|
||||
|
||||
<sect2><heading>Introduction<label id="anoncvs:intro"></heading>
|
||||
|
||||
<p>Anonymous CVS (or, as it is otherwise known, <em>anoncvs</em>) is a
|
||||
feature provided by the CVS utilities bundled with FreeBSD for synchronizing
|
||||
with a remote CVS repository. Among other things, it allows users of
|
||||
FreeBSD to perform, with no special privileges, read-only CVS operations
|
||||
against one of the FreeBSD project's official anoncvs servers. To use it,
|
||||
one simply sets the <bf>CVSROOT</bf> environment variable to point at the
|
||||
appropriate anoncvs server and then uses the <tt>cvs(1)</tt> command to
|
||||
access it like any local repository.
|
||||
|
||||
<p>While it can also be said that the <ref id="cvsup" name="CVSup"> and <tt>anoncvs</tt>
|
||||
services both perform essentially the same function, there are various
|
||||
trade-offs which can influence the user's choice of synchronization methods.
|
||||
In a nutshell, <tt>CVSup</tt> is much more efficient in its usage of
|
||||
network resources and is by far the most technically sophisticated of the
|
||||
two, but at a price. To use <tt>CVSup</tt>, a special client must first be
|
||||
installed and configured before any bits can be grabbed, and then only in
|
||||
the fairly large chunks which <tt>CVSup</tt> calls <em>collections</em>.
|
||||
|
||||
<p><tt>Anoncvs</tt>, by contrast, can be used to examine anything from an
|
||||
individual file to a specific program (like <em>ls</em> or <em>grep</em>)
|
||||
by referencing the CVS module name. Of course, <tt>anoncvs</tt> is also
|
||||
only good for read-only operations on the CVS repository, so if it's your
|
||||
intention to support local development in one repository shared with the
|
||||
FreeBSD project bits then <tt>CVSup</tt> is really your only option.
|
||||
|
||||
<sect2><heading>Using Anonymous CVS<label id="anoncvs:usage"></heading>
|
||||
|
||||
<p>Configuring <tt>cvs(1)</tt> to use an Anonymous CVS repository is
|
||||
a simple matter of setting the <bf>CVSROOT</bf> environment
|
||||
variable to point to one of the FreeBSD project's <tt>anoncvs</tt>
|
||||
servers. At the time of this writing, the following servers are
|
||||
available:
|
||||
|
||||
<itemize>
|
||||
<item><bf>USA</bf>: anoncvs@anoncvs.freebsd.org:/cvs</item>
|
||||
</itemize>
|
||||
|
||||
<p>Since CVS allows one to "check out" virtually any version of the FreeBSD
|
||||
sources that ever existed (or, in some cases, will exist :), you need
|
||||
to be familiar with the revision (<em>-r</em>) flag to <tt>cvs(1)</tt>
|
||||
and what some of the permissible values for it in the FreeBSD Project
|
||||
repository are.
|
||||
|
||||
<p>There are two kinds of tags, revision tags and branch tags. A revision tag
|
||||
refers to a specific revision. Its meaning stays the same from day to
|
||||
day. A branch tag, on the other hand, refers to the latest revision
|
||||
on a given line of development, at any given time. Because a branch
|
||||
tag does not refer to a specific revision, it may mean something
|
||||
different tomorrow than it means today.
|
||||
|
||||
<p>Here are the branch tags that users might be interested in:
|
||||
|
||||
<descrip>
|
||||
<tag/HEAD/
|
||||
Symbolic name for the main line, or FreeBSD-current. Also the
|
||||
default when no revision is specified.
|
||||
<tag/RELENG_2_2/
|
||||
The line of development for FreeBSD-2.2.x, also known as
|
||||
FreeBSD-stable.
|
||||
Not valid for the ports collection.
|
||||
<tag/RELENG_2_1_0/
|
||||
The line of development for FreeBSD-2.1.x - this branch
|
||||
is largely obsolete.
|
||||
Not valid for the ports collection.
|
||||
</descrip>
|
||||
|
||||
<p>Here are the revision tags that users might be interested in:
|
||||
|
||||
<descrip>
|
||||
<tag/RELENG_2_2_6_RELEASE/
|
||||
FreeBSD-2.2.6.
|
||||
Not valid for the ports collection.
|
||||
<tag/RELENG_2_2_5_RELEASE/
|
||||
FreeBSD-2.2.5.
|
||||
Not valid for the ports collection.
|
||||
<tag/RELENG_2_2_2_RELEASE/
|
||||
FreeBSD-2.2.2.
|
||||
Not valid for the ports collection.
|
||||
<tag/RELENG_2_2_1_RELEASE/
|
||||
FreeBSD-2.2.1.
|
||||
Not valid for the ports collection.
|
||||
<tag/RELENG_2_2_0_RELEASE/
|
||||
FreeBSD-2.2.0.
|
||||
Not valid for the ports collection.
|
||||
<tag/RELENG_2_1_7_RELEASE/
|
||||
FreeBSD-2.1.7.
|
||||
Not valid for the ports collection.
|
||||
<tag/RELENG_2_1_6_1_RELEASE/
|
||||
FreeBSD-2.1.6.1.
|
||||
Not valid for the ports collection.
|
||||
<tag/RELENG_2_1_6_RELEASE/
|
||||
FreeBSD-2.1.6.
|
||||
Not valid for the ports collection.
|
||||
<tag/RELENG_2_1_5_RELEASE/
|
||||
FreeBSD-2.1.5.
|
||||
Not valid for the ports collection.
|
||||
<tag/RELENG_2_1_0_RELEASE/
|
||||
FreeBSD-2.1.0.
|
||||
Not valid for the ports collection.
|
||||
</descrip>
|
||||
|
||||
<p>When you specify a branch tag, you normally receive the latest versions
|
||||
of the files on that line of development. If you wish to receive some
|
||||
past version, you can do so by specifying a date with the <em>-D date</em>
|
||||
flag. See the <tt>cvs(1)</tt> man page for more details.
|
||||
|
||||
<sect2><heading>Examples</heading>
|
||||
|
||||
<p>While it really is recommended that you read the manual page for
|
||||
<tt>cvs(1)</tt> thoroughly before doing anything, here are some quick
|
||||
examples which essentially show how to use Anonymous CVS:
|
||||
|
||||
<p>Checking out something from -current (ls(1)) and deleting it again:
|
||||
|
||||
<verb>
|
||||
% setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs
|
||||
% cvs co ls
|
||||
% cvs release -d ls
|
||||
</verb>
|
||||
|
||||
<p>Checking out the version of ls(1) in the 2.2-stable branch:
|
||||
|
||||
<verb>
|
||||
% setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs
|
||||
% cvs co -rRELENG_2_2 ls
|
||||
% cvs release -d ls
|
||||
</verb>
|
||||
|
||||
<p>Creating a list of changes (as unidiffs) to ls(1) between FreeBSD 2.2.2
|
||||
and FreeBSD 2.2.6:
|
||||
|
||||
<verb>
|
||||
% setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs
|
||||
% cvs rdiff -u -rRELENG_2_2_2_RELEASE -rRELENG_2_2_6_RELEASE ls
|
||||
</verb>
|
||||
|
||||
<p>Finding out what other module names can be used:
|
||||
|
||||
<verb>
|
||||
% setenv CVSROOT anoncvs@anoncvs.freebsd.org:/cvs
|
||||
% cvs co modules
|
||||
% more modules/modules
|
||||
% cvs release -d modules
|
||||
</verb>
|
||||
|
||||
<sect2><heading>Other Resources</heading>
|
||||
|
||||
<p>The following additional resources may be helpful in learning CVS:
|
||||
|
||||
<itemize>
|
||||
<item><url url="http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/cvs/"
|
||||
name="CVS Tutorial"> from Cal Poly.</item>
|
||||
<item><url url="http://www.cyclic.com" name="Cyclic Software">, commercial
|
||||
maintainers of CVS.</item>
|
||||
<item><url url="http://www.freebsd.org/cgi/cvsweb.cgi" name="CVSWeb">
|
||||
is the FreeBSD Project web interface for CVS.</item>
|
||||
</itemize>
|
|
@ -1,9 +1,10 @@
|
|||
<!-- $Id: sections.sgml,v 1.29 1998-04-30 10:31:05 obrien Exp $ -->
|
||||
<!-- $Id: sections.sgml,v 1.30 1998-04-30 12:51:14 jkh Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<!-- Entities containing all the pieces of the handbook are -->
|
||||
<!-- defined here -->
|
||||
|
||||
<!ENTITY anoncvs SYSTEM "anoncvs.sgml">
|
||||
<!ENTITY bibliography SYSTEM "bibliography.sgml">
|
||||
<!ENTITY basics SYSTEM "basics.sgml">
|
||||
<!ENTITY booting SYSTEM "booting.sgml">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<!-- $Id: synching.sgml,v 1.12 1997-08-18 00:03:59 jdp Exp $ -->
|
||||
<!-- $Id: synching.sgml,v 1.13 1998-04-30 12:51:16 jkh Exp $ -->
|
||||
<!-- The FreeBSD Documentation Project -->
|
||||
|
||||
<sect><heading>Synchronizing Source Trees over the Internet<label id="synching"></heading>
|
||||
|
@ -7,7 +7,7 @@
|
|||
|
||||
<!--
|
||||
|
||||
Last updated: $Date: 1997-08-18 00:03:59 $
|
||||
Last updated: $Date: 1998-04-30 12:51:16 $
|
||||
|
||||
This document tries to describe the various ways in which a user may
|
||||
use the internet to keep development sources in synch.
|
||||
|
@ -16,37 +16,47 @@ use the internet to keep development sources in synch.
|
|||
<p>There are various ways of using an Internet (or email) connection
|
||||
to stay up-to-date with any given area of the FreeBSD project sources,
|
||||
or all areas, depending on what interests you. The primary
|
||||
services we offer are CVSup and CTM.
|
||||
services we offer are <ref id="anoncvs" name="Anonymous CVS">,
|
||||
<ref id="cvsup" name="CVSup"> and <ref id="ctm" name="CTM">.
|
||||
|
||||
<p><bf>CVSup</bf> uses the <em>pull</em> model of updating. The
|
||||
user (or a cron script) invokes the <tt>cvsup</tt> program, and it
|
||||
<p><bf>Anonymous CVS</bf> and <bf>CVSup</bf> use the <em>pull</em>
|
||||
model of updating sources. In the case of <tt>CVSup</tt>, the user
|
||||
(or a cron script) invokes the <tt>cvsup</tt> program and it
|
||||
interacts with a <tt>cvsupd</tt> server somewhere to bring your files
|
||||
up to date. The updates you receive are up-to-the-minute and you get
|
||||
them when, and only when, you want them. You can easily restrict your
|
||||
updates to the specific files or directories that are of interest to
|
||||
you. Updates are generated on the fly by the server, according to
|
||||
what you have and what you want to have.
|
||||
what you have and what you want to have. <tt>Anonymous CVS</tt> is
|
||||
quite a bit more simplistic than <tt>CVSup</tt> in that it's just
|
||||
an extention to <tt>cvs(1)</tt> which allows it to pull changes directly
|
||||
from a remote CVS repository. <tt>CVSup</tt> can do this far more
|
||||
efficiently, but <tt>anoncvs</tt> is easier to use.
|
||||
|
||||
<p><bf>CTM</bf>, on the other hand, does not interactively compare
|
||||
the sources you have with those on the master archive. Instead, a script
|
||||
which identifies changes in files since its previous run is executed several
|
||||
times a day on the master archive, any detected changes being compressed,
|
||||
stamped with a sequence-number and encoded for transmission over email
|
||||
(printable ASCII only). Once received, these "CTM deltas" can then be
|
||||
handed to the ctm_rmail(1) utility which will automatically decode, verify
|
||||
and apply the changes to the user's copy of the sources. This process is
|
||||
far more efficient than CVSup, and places less strain on our server resources
|
||||
since it is a <em>push</em> rather than a <em>pull</em> model.
|
||||
the sources you have with those on the master archive or otherwise
|
||||
<em>pull</em> changes across. Instead, a script which identifies changes
|
||||
in files since its previous run is executed several times a day on the
|
||||
master CTM machine, any detected changes being compressed, stamped with a
|
||||
sequence-number and encoded for transmission over email (in printable
|
||||
ASCII only). Once received, these "CTM deltas" can then be handed to
|
||||
the ctm_rmail(1) utility which will automatically decode, verify and
|
||||
apply the changes to the user's copy of the sources. This process is
|
||||
far more efficient than CVSup or Anonymous CVS, and places less strain
|
||||
on our server resources since it is a <em>push</em> rather than a
|
||||
<em>pull</em> model.
|
||||
|
||||
<p>There are other trade-offs, of course. If you
|
||||
inadvertently wipe out portions of your archive, CVSup will detect
|
||||
and rebuild the damaged portions for you. CTM won't do this, and if
|
||||
you wipe some portion of your source tree out (and don't have it backed
|
||||
up) then you will have to start from scratch (from the most recent CVS
|
||||
"base delta") and rebuild it all.
|
||||
<p>There are other trade-offs, of course. If you inadvertently wipe out
|
||||
portions of your archive, CVSup will detect and rebuild the damaged
|
||||
portions for you. CTM won't do this and anoncvs is probably more likely
|
||||
to become seriously confused than anything else. If you wipe some portion
|
||||
of your source tree out (and don't have it backed up) then you will have
|
||||
to start from scratch (from the most recent CVS "base delta") and rebuild
|
||||
it all with CTM or, with anoncvs, simply delete the bad bits and re-sync.
|
||||
|
||||
For more information on CTM and CVSup, please
|
||||
For more information on Anonymous CVS, CTM and CVSup, please
|
||||
see one of the following sections:
|
||||
|
||||
&anoncvs;
|
||||
&ctm;
|
||||
&cvsup;
|
||||
|
|
Loading…
Reference in a new issue