b3ef6e6b4b
first server), document the fact.
62 lines
3 KiB
Text
62 lines
3 KiB
Text
<!-- $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>
|
|
|
|
<p><em>Contributed by &a.jkh;.</em>
|
|
|
|
<!--
|
|
|
|
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.
|
|
-->
|
|
|
|
<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 <ref id="anoncvs" name="Anonymous CVS">,
|
|
<ref id="cvsup" name="CVSup"> and <ref id="ctm" name="CTM">.
|
|
|
|
<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. <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 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 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 Anonymous CVS, CTM and CVSup, please
|
|
see one of the following sections:
|
|
|
|
&anoncvs;
|
|
&ctm;
|
|
&cvsup;
|