@need 3200

@node Some Usage Advice -- Making Private Mirrors
@chapter Some Usage Advice -- Making Private Mirrors

Earlier, you learned how to create network accessible archives and
mirrors (see @ref{Shared and Public Archives}).


Later, you learned about creating a local branch from a remote archive
(see @ref{Elementary Branches -- Maintaining Private Changes}).


In that latter chapter, you learned about how to use
@code{archive-cache-revision} to protect yourself against the loss of a
remote archive (see @ref{Elementary Branches -- Maintaining Private Changes}).


This chapter points out an alternative to @code{archive-cache-revision}.
No new commands are introduced: just a new way to use commands you
already know.


Among other things, the technique introduced here can speed up your
day-to-day access to archives that other people make available over
the net.

@need 3200

@section Some Problems With Remote Archives

Remote archives have at least two disadvantages:  


First, they can disappear.  If the net goes down or if the maintainer
of a remote archive can't sustain it, the archive disappears.


Second, they can be slow to access.  Remote archives are, well,
remote.  Access to their contents is subject to all the usual delays
of network access to remote data.


If a remote archive contains vital data, those disadvantages can
become serious.   So, how can you minimize them?




@need 3200

@section Keep a Local Copy

@strong{Upcoming Change Warning:} The mechanism described in this section is
going to change in future releases.  Mirrors will be more cleanly
supported.  Nevertheless, this mechanism works @geindex well enough
@dfn{well enough} to get
work done.


By spending a little disk space, you can minimize the problems with
remote archives in, essentially, two steps:


@strong{Register the remote archive under a second name.}  When you use
@code{register-archive}, call the remote archive by some name other than
its native name.


@strong{Use push-mirror to make a local copy.}  Create a local archive which
is a mirror of the remote archive.  Register that mirror under the
archive's name.  Use @code{push-mirror} to copy the remote archive to your
private mirror.  (See @strong{Read-only Archive Mirrors} in @ref{Shared and Public Archives}.)







