The Hackerlab at regexps.com

Some Usage Advice -- Making Private Mirrors

up: arch Meets hello-world
next: Patch Logs and Project Tree History
prev: Elementary Branches -- Maintaining Private Changes

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

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

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

This chapter points out an alternative to 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.

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?

Keep a Local Copy

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 well enough to get work done.

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

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

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 push-mirror to copy the remote archive to your private mirror. (See Read-only Archive Mirrors.)

arch Meets hello-world: A Tutorial Introduction to The arch Revision Control System
The Hackerlab at regexps.com