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]] |[[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 ‘<code>,v</code>’ 59appended to the end. Here is what the repository for 60the ‘<tt>yoyodyne/tc</tt>’ 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 ‘<tt>doc/RCSFILES</tt>’ in the <small>CVS</small> source 95distribution. This 96file format has become very common—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>’s 104rules see [[cvs: Tags-Symbolic revisions#Tags–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]] |[[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