<div id="Repository"></div>
<div class="header">
<p>
Next: [[cvs: Starting a project with CVS#Starting a project with CVS|Starting a new project]], Previous: [[cvs: Overview#Overview|Overview]], Up: [[cvs#Top|Top]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
</div>

----

<div id="The-Repository"></div>
== The Repository ==
<div id="index-Repository-_0028intro_0029"></div>
<div id="index-Repository_002c-example"></div>
<div id="index-Layout-of-repository"></div>
<div id="index-Typical-repository"></div>
<div id="index-_002fusr_002flocal_002fcvsroot_002c-as-example-repository"></div>
<div id="index-cvsroot"></div>

The <small>CVS</small> <em>repository</em> stores a complete copy of
all the files and directories which are under version
control.

Normally, you never access any of the files in the
repository directly.  Instead, you use <small>CVS</small>
commands to get your own copy of the files into a
<em>working directory</em>, and then
work on that copy.  When you&rsquo;ve finished a set of
changes, you check (or <em>commit</em>) them back into the
repository.  The repository then contains the changes
which you have made, as well as recording exactly what
you changed, when you changed it, and other such
information.  Note that the repository is not a
subdirectory of the working directory, or vice versa;
they should be in separate locations.

<div id="index-_003alocal_003a_002c-setting-up"></div>
<small>CVS</small> can access a repository by a variety of
means.  It might be on the local computer, or it might
be on a computer across the room or across the world.
To distinguish various ways to access a repository, the
repository name can start with an <em>access method</em>.
For example, the access method <code>:local:</code> means to
access a repository directory, so the repository
<code>:local:/usr/local/cvsroot</code> means that the
repository is in &lsquo;<tt>/usr/local/cvsroot</tt>&rsquo; on the
computer running <small>CVS</small>.  For information on other
access methods, see [[cvs: Remote repositories#Remote repositories|Remote repositories]].

If the access method is omitted, then if the repository
starts with &lsquo;<code>/</code>&rsquo;, then <code>:local:</code> is
assumed.  If it does not start with &lsquo;<code>/</code>&rsquo; then either
<code>:ext:</code> or <code>:server:</code> is assumed.  For
example, if you have a local repository in
&lsquo;<tt>/usr/local/cvsroot</tt>&rsquo;, you can use
<code>/usr/local/cvsroot</code> instead of
<code>:local:/usr/local/cvsroot</code>.  But if (under
Windows NT, for example) your local repository is
&lsquo;<tt>c:\src\cvsroot</tt>&rsquo;, then you must specify the access
method, as in <code>:local:c:/src/cvsroot</code>.

The repository is split in two parts.  &lsquo;<tt>$CVSROOT/CVSROOT</tt>&rsquo; contains
administrative files for <small>CVS</small>.  The other directories contain the actual
user-defined modules.

 [[cvs: Telling CVS where your repository is#Telling CVS where your repository is|&bull; Specifying a repository]]::     Telling CVS where your repository is
 [[cvs: How data is stored in the repository#How data is stored in the repository|&bull; Repository storage]]::          The structure of the repository
 [[cvs: How data is stored in the working directory#How data is stored in the working directory|&bull; Working directory storage]]::   The structure of working directories
 [[cvs: The administrative files#The administrative files|&bull; Intro administrative files]]::  Defining modules
 [[cvs: Multiple repositories#Multiple repositories|&bull; Multiple repositories]]::       Multiple repositories
 [[cvs: Creating a repository#Creating a repository|&bull; Creating a repository]]::       Creating a repository
 [[cvs: Backing up a repository#Backing up a repository|&bull; Backing up]]::                  Backing up a repository
 [[cvs: Moving a repository#Moving a repository|&bull; Moving a repository]]::         Moving a repository
 [[cvs: Remote repositories#Remote repositories|&bull; Remote repositories]]::         Accessing repositories on remote machines
 [[cvs: Read-only repository access#Read-only repository access|&bull; Read-only access]]::            Granting read-only access to the repository
 [[cvs: Temporary directories for the server#Temporary directories for the server|&bull; Server temporary directory]]::  The server creates temporary directories


----

<div class="header">
<p>
Next: [[cvs: Starting a project with CVS#Starting a project with CVS|Starting a new project]], Previous: [[cvs: Overview#Overview|Overview]], Up: [[cvs#Top|Top]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
</div>
This document was generated on <i>a sunny day</i> using [http://www.nongnu.org/texi2html/ <i>texi2html</i>].
