/[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.12 by jmc, Tue Nov 3 23:20:16 2009 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            
 <blockquote>  
 Using a Bourne, "bash", or "sh-compatible" shell:  
38  <pre>  <pre>
39  $  export CVSROOT=':pserver:cvsanon@mitgcm.org:/usr/local/gcmpack'    $ export CVSROOT=':pserver:cvsanon@mitgcm.org:/u/gcmpack'
40  $  cvs login    $ cvs login
41  ( enter the CVS password: "cvsanon" )      ( enter the CVS password: "cvsanon" )
42  $  cvs co MITgcm MITgcm_contrib    $ cvs co MITgcm
 </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  
43  </pre>  </pre>
44  </blockquote>  
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 MITgcm
52    </pre>
53    
54        <p>A large amount of additional (optional!) content can be obtained from the
55          MITgcm_contrib directory that can be checked out using:
56    
57    <pre>
58      $ cvs co MITgcm_contrib
59    </pre>
60    
61          In general, we do not recommend checking out all of MITgcm_contrib since
62          it takes a long time to download (particularly from remote locations) and
63          much of it is specific to certain setups (eg. high-res setups,
64          in-development material that is not yet part of the "main" code,
65          etc.).</p>
66    
67      <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
68        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 73  $  cvs co MITgcm MITgcm_contrib
73      <h4>Getting Parts of the Source "Tree"</h4>      <h4>Getting Parts of the Source "Tree"</h4>
74    
75      <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
76        and the "contributed" (that is, unsupported by often useful) information        and the "contributed" (that is, unsupported by occasionally useful)
77        within the "MITgcm_contrib" directory.  In many cases, this is overkill        information within the "MITgcm_contrib" directory.  In many cases, this is
78        and can result in long download times.  To reduce the volume of        overkill and can result in long download times.  To reduce the volume of
79        information downloaded and thereby speedup the download times, one can        information downloaded and thereby speedup the download times, one can
80        select one of the following pre-defined "aliases" that will provide a        select one of the following pre-defined "aliases" that will provide a
81        sub-set of the entire MITgcm source "tree":</p>        sub-set of the entire MITgcm source "tree":</p>
# Line 82  $  cvs co MITgcm MITgcm_contrib Line 92  $  cvs co MITgcm MITgcm_contrib
92        </tr>        </tr>
93        <tr bgcolor="#bbddff">        <tr bgcolor="#bbddff">
94          <td width="25%">MITgcm_verif_basic</td>          <td width="25%">MITgcm_verif_basic</td>
95          <td>Source code plus three of the verification examples          <td>Source code plus a small set of the verification examples
96            ("adjustment.128x64x1", "internal_wave", and            ("aim.5l_cs", "hs94.128x64x5", "ideal_2D_oce", "lab_sea",
97            "solid-body.cs-32x32x1").</td>             "tutorial_baroclinic_gyre", "tutorial_global_oce_latlon"
98       </tr>             and "tutorial_plume_on_slope").</td>
99          </tr>
100          <tr bgcolor="#bbffdd">
101            <td width="25%">MITgcm_tutorials</td>
102            <td>Source code plus all of the tutorials examples.</td>
103          </tr>
104          <tr bgcolor="#bbddff">
105            <td width="25%">MITgcm_verif_all</td>
106            <td>Source code plus all of the verification examples.</td>
107          </tr>
108          <!--
109        <tr bgcolor="#bbffdd">        <tr bgcolor="#bbffdd">
110          <td width="25%">MITgcm_verif_atmos</td>          <td width="25%">MITgcm_verif_atmos</td>
111          <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 114  $  cvs co MITgcm MITgcm_contrib
114          <td width="25%">MITgcm_verif_ocean</td>          <td width="25%">MITgcm_verif_ocean</td>
115          <td>Source code plus all of the oceanic examples.</td>          <td>Source code plus all of the oceanic examples.</td>
116       </tr>       </tr>
       <tr bgcolor="#bbffdd">  
         <td width="25%">MITgcm_verif_all</td>  
         <td>Source code plus all of the verification examples.</td>  
       </tr>  
       <!--  
117        <tr bgcolor="#bbddff">        <tr bgcolor="#bbddff">
118          <td width="25%"></td>          <td width="25%"></td>
119          <td></td>          <td></td>
# Line 110  $  cvs co MITgcm MITgcm_contrib Line 125  $  cvs co MITgcm MITgcm_contrib
125        -->        -->
126      </table>      </table>
127    
128        <p>It is important to note that the CVS aliases above cannot be used in
129          conjunction with the CVS <i>-d DIRNAME</i> option.  However, the MITgcm
130          directories they create can be changed to a different name following the
131          check-out:</p>
132    <pre>
133      $ cvs co MITgcm_verif_basic
134      $ mv MITgcm MITgcm_verif_basic
135    </pre>
136    
137      <h4>Getting Specific Releases or "Checkpoints"</h4>      <h4>Getting Specific Releases or "Checkpoints"</h4>
138            
139      <p>As shown within the <a      <p>As shown within the
140        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> -->
141        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>
142          , the MITgcm code is continuously undergoing updates.  At
143        points during the development (typically, after work has been done and the        points during the development (typically, after work has been done and the
144        source code has passed the <a href="testing/latest.html">verification        source code has passed the <a href="./testing.html">verification
145        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
146        convenient mechanism for referring to different times or points within the        convenient mechanism for referring to different times or points within the
147        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
148        option such as: </p>        option such as: </p>
149    
 <blockquote>  
150  <pre>  <pre>
151  $  cvs co -r release1_p5 MITgcm    $ cvs co -r release1_p5 MITgcm
152  $  cvs co -r checkpoint52a_post MITgcm    $ cvs co -r checkpoint52a_post MITgcm
153  </pre>  </pre>
 </blockquote>  
154    
155      <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
156        latest version of all files.</p>        latest version of all files.</p>
# Line 140  $  cvs co -r checkpoint52a_post MITgcm Line 162  $  cvs co -r checkpoint52a_post MITgcm
162        that you yourself have made since obtaining the code.  From within        that you yourself have made since obtaining the code.  From within
163        your working directory:</p>        your working directory:</p>
164    
165  <blockquote>  <pre>
166  <pre>cvs diff</pre>    cvs diff
167  </blockquote>  </pre>
168    
169    
170      <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
171        checked out. It acts recursively on all directories below your current        checked out. It acts recursively on all directories below your current
172        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
173        specifying those as arguments:</p>        specifying those as arguments:</p>
174    
175  <blockquote>  <pre>
176  <pre>cvs diff <i>file</i></pre>    cvs diff <i>file</i>
177  </blockquote>  </pre>
178    
179    
180      <h4>Show changes to the repository that you don't have</h4>      <h4>Show changes to the repository that you don't have</h4>
181    
182      <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
183        date.  To see what needs to be updated:</p>        date.  To see what needs to be updated:</p>
184    
185  <blockquote>  <pre>
186  <pre>cvs -n update</pre>    cvs -n update
187  </blockquote>  </pre>
188    
189      <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
190        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 195  $  cvs co -r checkpoint52a_post MITgcm
195      <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
196        working code up to date:</p>        working code up to date:</p>
197    
198  <blockquote>  <pre>
199  <pre>cvs update -d -P</pre>    cvs update -d -P
200  </blockquote>  </pre>
201    
202        <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.
203          To update just a specific file or directory:</p>          To update just a specific file or directory:</p>
204    
205  <blockquote>  <pre>
206  <pre>cvs update <i>file</i></pre>    cvs update <i>file</i>
207  </blockquote>  </pre>
208    
209      <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
210        a specific version.</p>        a specific version.</p>
211    
212  <blockquote>  <pre>
213  <pre>cvs update -d -P -r release1_p5</pre>    cvs update -d -P -r release1_p5
214  </blockquote>  </pre>
215    
216      <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
217        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
218        follows:</p>        follows:</p>
219    
220  <blockquote>  <pre>
221  <pre>cvs update -d -P -A</pre>    cvs update -d -P -A
222  </blockquote>  </pre>
223    
224      <p>"cvs update" produces output to the terminal with the following      <p>"cvs update" produces output to the terminal with the following
225        meanings:</p>        meanings:</p>

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

  ViewVC Help
Powered by ViewVC 1.1.22