1<div id="Repository-files"></div>
2<div class="header">
3<p>
4Next: [[cvs: File permissions#File permissions|File permissions]], Up: [[cvs: How data is stored in the repository#How data is stored in the repository|Repository storage]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
5</div>
6
7----
8
9<div id="Where-files-are-stored-within-the-repository"></div>
10==== Where files are stored within the repository ====
11
12
13The overall structure of the repository is a directory
14tree corresponding to the directories in the working
15directory.  For example, supposing the repository is in
16
17<div class="example" style="margin-left: 3.2em">
18 /usr/local/cvsroot
19</div>
20
21here is a possible directory tree (showing only the
22directories):
23
24<div class="example" style="margin-left: 3.2em">
25 <tt>/usr</tt>
26  |
27  +--<tt>local</tt>
28  |   |
29  |   +--<tt>cvsroot</tt>
30  |   |    |
31  |   |    +--<tt>CVSROOT</tt>
32           |      (administrative files)
33           |
34           +--<tt>gnu</tt>
35           |   |
36           |   +--<tt>diff</tt>
37           |   |   (source code to GNU diff)
38           |   |
39           |   +--<tt>rcs</tt>
40           |   |   (source code to RCS)
41           |   |
42           |   +--<tt>cvs</tt>
43           |       (source code to CVS)
44           |
45           +--<tt>yoyodyne</tt>
46               |
47               +--<tt>tc</tt>
48               |    |
49               |    +--<tt>man</tt>
50               |    |
51               |    +--<tt>testing</tt>
52               |
53               +--(other Yoyodyne software)
54</div>
55
56With the directories are <em>history files</em> for each file
57under version control.  The name of the history file is
58the name of the corresponding file with &lsquo;<code>,v</code>&rsquo;
59appended to the end.  Here is what the repository for
60the &lsquo;<tt>yoyodyne/tc</tt>&rsquo; directory might look like:
61<div class="example" style="margin-left: 3.2em">
62   <code>$CVSROOT</code>
63     |
64     +--<tt>yoyodyne</tt>
65     |   |
66     |   +--<tt>tc</tt>
67     |   |   |
68             +--<tt>Makefile,v</tt>
69             +--<tt>backend.c,v</tt>
70             +--<tt>driver.c,v</tt>
71             +--<tt>frontend.c,v</tt>
72             +--<tt>parser.c,v</tt>
73             +--<tt>man</tt>
74             |    |
75             |    +--<tt>tc.1,v</tt>
76             |
77             +--<tt>testing</tt>
78                  |
79                  +--<tt>testpgm.t,v</tt>
80                  +--<tt>test2.t,v</tt>
81</div>
82
83<div id="index-History-files"></div>
84<div id="index-RCS-history-files"></div>
85The history files contain, among other things, enough
86information to recreate any revision of the file, a log
87of all commit messages and the user-name of the person
88who committed the revision.  The history files are
89known as <em>RCS files</em>, because the first program to
90store files in that format was a version control system
91known as <small>RCS</small>.  For a full
92description of the file format, see the <code>man</code> page
93<cite>rcsfile(5)</cite>, distributed with <small>RCS</small>, or the
94file &lsquo;<tt>doc/RCSFILES</tt>&rsquo; in the <small>CVS</small> source
95distribution.  This
96file format has become very common&mdash;many systems other
97than <small>CVS</small> or <small>RCS</small> can at least import history
98files in this format.
99
100The <small>RCS</small> files used in <small>CVS</small> differ in a few
101ways from the standard format.  The biggest difference
102is magic branches; for more information see [[cvs: Magic branch numbers#Magic branch numbers|Magic branch numbers]].  Also in <small>CVS</small> the valid tag names
103are a subset of what <small>RCS</small> accepts; for <small>CVS</small>&rsquo;s
104rules see [[cvs: Tags-Symbolic revisions#Tags&ndash;Symbolic revisions|Tags]].
105
106
107----
108
109<div class="header">
110<p>
111Next: [[cvs: File permissions#File permissions|File permissions]], Up: [[cvs: How data is stored in the repository#How data is stored in the repository|Repository storage]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
112</div>
113This document was generated on <i>a sunny day</i> using [http://www.nongnu.org/texi2html/ <i>texi2html</i>].
114