/[MITgcm]/mitgcm.org/front_content/using_cvs.xml
ViewVC logotype

Diff of /mitgcm.org/front_content/using_cvs.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.1 by edhill, Thu Dec 4 02:14:52 2003 UTC revision 1.14 by jmc, Wed May 11 17:45:01 2011 UTC
# Line 14  Line 14 
14      <meta name="add_title" content="Using CVS" />      <meta name="add_title" content="Using CVS" />
15      <!-- Hinting for menu generation -->      <!-- Hinting for menu generation -->
16    
     <title>MITgcm: <!--ADDTITLE--></title>  
17  <style type="text/css">  <style type="text/css">
18   span.c2 {font-size: 110%}   span.c2 {font-size: 110%}
19   div.c1 {text-align: center}   div.c1 {text-align: center}
# Line 33  Line 32 
32        to use the CVS "pserver" mechanism.  This method only allows you to "check        to use the CVS "pserver" mechanism.  This method only allows you to "check
33        out" (or obtain a local copy) of the source.  It does not provide a        out" (or obtain a local copy) of the source.  It does not provide a
34        mechanism for "committing" or "checking in" changes (please see below).        mechanism for "committing" or "checking in" changes (please see below).
35        Using CVS pserver from the command line requires just a three        Using CVS pserver from the command line requires just a three commands.
36        commands:</p>        Using a Bourne, "bash", or "sh-compatible" shell they are:</p>
37        
38  <blockquote>  <pre>
39  Using a Bourne, "bash", or "sh-compatible" shell:    $ export CVSROOT=':pserver:cvsanon@mitgcm.org:/u/gcmpack'
40      $ cvs login
41        ( enter the CVS password: "cvsanon" )
42      $ cvs co -P MITgcm
43    </pre>
44    
45        <p>Using a "C", "csh", or "tcsh" shell the commands are:</p>
46    
47    <pre>
48      $ setenv CVSROOT ':pserver:cvsanon@mitgcm.org:/u/gcmpack'
49      $ cvs login
50        ( enter the CVS password: "cvsanon" )
51      $ cvs co -P MITgcm
52    </pre>
53    
54        <p>using the "-P" option to check-out ("<i>cvs co -P</i>") prevents
55        to download unnecessary empty directories.</p>
56    
57        <p>A large amount of additional (optional!) content is available
58        from the <i>MITgcm_contrib</i> directory; much of it is specific to certain
59        setups (eg. high-res setups, in-development material that is not yet part
60        of the "main" code, etc ...).
61        But rather than checking out the full content of MITgcm_contrib
62        ("<i>cvs co -P MITgcm_contrib</i>"), which takes a long time to download
63        (particularly from remote locations), we recommend to download only the
64        specific part of interest, e.g.: "<i>submesoscale</i>" directory,
65        which can be checked out using:</p>
66    
67  <pre>  <pre>
68  $  export CVSROOT=':pserver:cvsanon@mitgcm.org:/usr/local/gcmpack'    $ cvs co -P MITgcm_contrib/submesoscale
 $  cvs login  
 ( enter the CVS password: "cvsanon" )  
 $  cvs co MITgcm MITgcm_contrib  
 </pre><br />  
   
 Using a "C", "csh", or "tcsh" shell:  
 <pre>  
 $  setenv CVSROOT ':pserver:cvsanon@mitgcm.org:/usr/local/gcmpack'  
 $  cvs login  
 ( enter the CVS password: "cvsanon" )  
 $  cvs co MITgcm MITgcm_contrib  
69  </pre>  </pre>
 </blockquote>  
70    
71      <p>Note that you will only need to perform the "cvs login" once.  And for      <p>Note that you will only need to perform the "cvs login" once.  And for
72        convenience, you may want to add the CVSROOT variable to your shell's        convenience, you may want to add the CVSROOT variable to your shell's
# Line 63  $  cvs co MITgcm MITgcm_contrib Line 77  $  cvs co MITgcm MITgcm_contrib
77      <h4>Getting Parts of the Source "Tree"</h4>      <h4>Getting Parts of the Source "Tree"</h4>
78    
79      <p>The above commands demonstrate how to check out all of the MITgcm code      <p>The above commands demonstrate how to check out all of the MITgcm code
80        and the "contributed" (that is, unsupported by often useful) information        and the "contributed" (that is, unsupported but occasionally useful)
81        within the "MITgcm_contrib" directory.  In many cases, this is overkill        information within the "<i>MITgcm_contrib</i>" directory. In many cases,
82        and can result in long download times.  To reduce the volume of        this is overkill and can result in long download times.
83        information downloaded and thereby speedup the download times, one can        To reduce the volume of information downloaded and thereby speedup the
84        select one of the following pre-defined "aliases" that will provide a        download times, one can select one of the following pre-defined "aliases"
85        sub-set of the entire MITgcm source "tree":</p>        that will provide a sub-set of the entire MITgcm source "tree":</p>
86    
87      <table align="center" border="0" cellpadding="10" width="90%" summary="CVS      <table align="center" border="0" cellpadding="10" width="90%" summary="CVS
88        aliases">        aliases">
# Line 82  $  cvs co MITgcm MITgcm_contrib Line 96  $  cvs co MITgcm MITgcm_contrib
96        </tr>        </tr>
97        <tr bgcolor="#bbddff">        <tr bgcolor="#bbddff">
98          <td width="25%">MITgcm_verif_basic</td>          <td width="25%">MITgcm_verif_basic</td>
99          <td>Source code plus three of the verification examples          <td>Source code plus a small set of the verification examples
100            ("adjustment.128x64x1", "internal_wave", and            ("aim.5l_cs", "hs94.128x64x5", "ideal_2D_oce", "lab_sea",
101            "solid-body.cs-32x32x1").</td>             "tutorial_baroclinic_gyre", "tutorial_global_oce_latlon"
102       </tr>             and "tutorial_plume_on_slope").</td>
103          </tr>
104          <tr bgcolor="#bbffdd">
105            <td width="25%">MITgcm_tutorials</td>
106            <td>Source code plus all of the tutorials examples.</td>
107          </tr>
108          <tr bgcolor="#bbddff">
109            <td width="25%">MITgcm_verif_all</td>
110            <td>Source code plus all of the verification examples.</td>
111          </tr>
112          <!--
113        <tr bgcolor="#bbffdd">        <tr bgcolor="#bbffdd">
114          <td width="25%">MITgcm_verif_atmos</td>          <td width="25%">MITgcm_verif_atmos</td>
115          <td>Source code plus all of the atmospheric examples.</td>          <td>Source code plus all of the atmospheric examples.</td>
# Line 94  $  cvs co MITgcm MITgcm_contrib Line 118  $  cvs co MITgcm MITgcm_contrib
118          <td width="25%">MITgcm_verif_ocean</td>          <td width="25%">MITgcm_verif_ocean</td>
119          <td>Source code plus all of the oceanic examples.</td>          <td>Source code plus all of the oceanic examples.</td>
120       </tr>       </tr>
       <tr bgcolor="#bbffdd">  
         <td width="25%">MITgcm_verif_all</td>  
         <td>Source code plus all of the verification examples.</td>  
       </tr>  
       <!--  
121        <tr bgcolor="#bbddff">        <tr bgcolor="#bbddff">
122          <td width="25%"></td>          <td width="25%"></td>
123          <td></td>          <td></td>
# Line 110  $  cvs co MITgcm MITgcm_contrib Line 129  $  cvs co MITgcm MITgcm_contrib
129        -->        -->
130      </table>      </table>
131    
132        <p>It is important to note that the CVS aliases above cannot be used in
133          conjunction with the CVS <i>-d DIRNAME</i> option.  However, the MITgcm
134          directories they create can be changed to a different name following the
135          check-out:</p>
136    <pre>
137      $ cvs co -P MITgcm_verif_basic
138      $ mv MITgcm MITgcm_verif_basic
139    </pre>
140    
141      <h4>Getting Specific Releases or "Checkpoints"</h4>      <h4>Getting Specific Releases or "Checkpoints"</h4>
142            
143      <p>As shown within the <a      <p>As shown within the
144        href="http://dev.mitgcm.org/cgi-bin/viewcvs.cgi/MITgcm/doc/tag-index"> CVS        <!-- <a href="http://mitgcm.org/cgi-bin/viewcvs.cgi/MITgcm/doc/tag-index">CVS Code Browser</a> -->
145        Code Browser</a>, the MITgcm code is continuously undergoing updates.  At        <a href="http://mitgcm.org/viewvc/MITgcm/MITgcm/doc/tag-index">CVS Code Browser</a>
146          , the MITgcm code is continuously undergoing updates.  At
147        points during the development (typically, after work has been done and the        points during the development (typically, after work has been done and the
148        source code has passed the <a href="testing/latest.html">verification        source code has passed the <a href="./testing.html">verification
149        tests</a>), a release or checkpoint "tag" is created.  These tags are a        tests</a>), a release or checkpoint "tag" is created.  These tags are a
150        convenient mechanism for referring to different times or points within the        convenient mechanism for referring to different times or points within the
151        development.  One can check out these versions using the "-r TAG_NAME" CVS        development.  One can check out these versions using the "-r TAG_NAME" CVS
152        option such as: </p>        option such as: </p>
153    
 <blockquote>  
154  <pre>  <pre>
155  $  cvs co -r release1_p5 MITgcm    $ cvs co -P -r release1_p5 MITgcm
156  $  cvs co -r checkpoint52a_post MITgcm    $ cvs co -P -r checkpoint52a_post MITgcm
157  </pre>  </pre>
 </blockquote>  
158    
159      <p>By default (that is, when no tag is specified), CVS will retrieve the      <p>By default (that is, when no tag is specified), CVS will retrieve the
160        latest version of all files.</p>        latest version of all files.</p>
# Line 140  $  cvs co -r checkpoint52a_post MITgcm Line 166  $  cvs co -r checkpoint52a_post MITgcm
166        that you yourself have made since obtaining the code.  From within        that you yourself have made since obtaining the code.  From within
167        your working directory:</p>        your working directory:</p>
168    
169  <blockquote>  <pre>
170  <pre>cvs diff</pre>    cvs diff
171  </blockquote>  </pre>
172    
173    
174      <p>will show the differences between your version and the version that you      <p>will show the differences between your version and the version that you
175        checked out. It acts recursively on all directories below your current        checked out. It acts recursively on all directories below your current
176        directory. You can limit the operation to just one file or directory by        directory. You can limit the operation to just one file or directory by
177        specifying those as arguments:</p>        specifying those as arguments:</p>
178    
179  <blockquote>  <pre>
180  <pre>cvs diff <i>file</i></pre>    cvs diff <i>file</i>
181  </blockquote>  </pre>
182    
183    
184      <h4>Show changes to the repository that you don't have</h4>      <h4>Show changes to the repository that you don't have</h4>
185    
186      <p>The source code evolves continuously and you should try to stay up to      <p>The source code evolves continuously and you should try to stay up to
187        date.  To see what needs to be updated:</p>        date.  To see what needs to be updated:</p>
188    
189  <blockquote>  <pre>
190  <pre>cvs -n update</pre>    cvs -n update
191  </blockquote>  </pre>
192    
193      <p>behaves just as "cvs update" but doesn't actually change anything. This      <p>behaves just as "cvs update" but doesn't actually change anything. This
194        is a useful way of summarizing the state of your code. The meaning of the        is a useful way of summarizing the state of your code. The meaning of the
# Line 171  $  cvs co -r checkpoint52a_post MITgcm Line 199  $  cvs co -r checkpoint52a_post MITgcm
199      <p>You can download and merge updates from the repository to bring you      <p>You can download and merge updates from the repository to bring you
200        working code up to date:</p>        working code up to date:</p>
201    
202  <blockquote>  <pre>
203  <pre>cvs update -d -P</pre>    cvs update -d -P
204  </blockquote>  </pre>
205    
206        <p>will work recursively on all files in the current directory and below.        <p>will work recursively on all files in the current directory and below.
207          To update just a specific file or directory:</p>          To update just a specific file or directory:</p>
208    
209  <blockquote>  <pre>
210  <pre>cvs update <i>file</i></pre>    cvs update <i>file</i>
211  </blockquote>  </pre>
212    
213      <p>You can also update to a specific version, just as you could check out      <p>You can also update to a specific version, just as you could check out
214        a specific version.</p>        a specific version.</p>
215    
216  <blockquote>  <pre>
217  <pre>cvs update -d -P -r release1_p5</pre>    cvs update -d -P -r release1_p5
218  </blockquote>  </pre>
219    
220      <p>If you checked out a specific version and want to update to the very      <p>If you checked out a specific version and want to update to the very
221        latest use the -A option will remove associated with a specific version as        latest use the -A option will remove associated with a specific version as
222        follows:</p>        follows:</p>
223    
224  <blockquote>  <pre>
225  <pre>cvs update -d -P -A</pre>    cvs update -d -P -A
226  </blockquote>  </pre>
227    
228      <p>"cvs update" produces output to the terminal with the following      <p>"cvs update" produces output to the terminal with the following
229        meanings:</p>        meanings:</p>
# Line 242  $  cvs co -r checkpoint52a_post MITgcm Line 270  $  cvs co -r checkpoint52a_post MITgcm
270    
271      <h4>Wow! CVS is so good, where can I learn more?</h4>      <h4>Wow! CVS is so good, where can I learn more?</h4>
272    
273      <p>The <a href="http://www.loria.fr/~molli/cvs/doc/cvs_toc.html">basic      <p>The <a
274        manual</a> is a good reference. There is also an <a        href="http://web.mit.edu/afs/athena.mit.edu/project/gnu/doc/html/cvs_toc.html">basic
275        href="http://web.mit.edu/afs/athena.mit.edu/project/gnu/doc/html/cvs_toc.html">online        manual</a> is a good reference.
276        tutorial</a> as well as an <a        For those who prefer the good old fashioned book there's
277        href="http://www.loria.fr/~molli/cvs/cvstrain/cvstrain.html">training        <a href="http://cvsbook.red-bean.com/">"Open Source Development With CVS"</a>.</p>
       manual</a>. For those who prefer the good old fashioned book there's <a  
       href="http://cvsbook.red-bean.com/">"Open Source Development With  
       CVS"</a>.</p>  
278    
279    </body>    </body>
280  </html>  </html>

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.14

  ViewVC Help
Powered by ViewVC 1.1.22