/[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.17 by dimitri, Sat Nov 21 16:59:15 2015 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 22  Line 21 
21    </head>    </head>
22    
23    <body>    <body>
24        
25      <center>      <center>
26        <h3>Obtaining the MITgcm Source using CVS</h3>        <h3>Obtaining the MITgcm Source using CVS</h3>
27      </center>      </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    <pre>
39      $ 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  <blockquote>      <p>A large amount of additional (optional!) content is available
58  Using a Bourne, "bash", or "sh-compatible" shell:      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
73        environment (that is, define it within your "~/.bashrc" or "~/.chsrc"        environment (that is, define it within your "~/.bashrc" or "~/.chsrc"
74        files).</p>        files).</p>
75    
76        <p>Also note that it is possible to checkout code without "cvs login" and
77          without setting any shell environment variables by specifying the
78          pserver name and password in one line, for example:</p>
79    
80    <pre>
81      $ cvs -d :pserver:cvsanon:cvsanon@mitgcm.org:/u/gcmpack co -P MITgcm
82    </pre>
83    
84      <h4>Getting Parts of the Source "Tree"</h4>      <h4>Getting Parts of the Source "Tree"</h4>
85    
86      <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
87        and the "contributed" (that is, unsupported by often useful) information        and the "contributed" (that is, unsupported but occasionally useful)
88        within the "MITgcm_contrib" directory.  In many cases, this is overkill        information within the "<i>MITgcm_contrib</i>" directory. In many cases,
89        and can result in long download times.  To reduce the volume of        this is overkill and can result in long download times.
90        information downloaded and thereby speedup the download times, one can        To reduce the volume of information downloaded and thereby speedup the
91        select one of the following pre-defined "aliases" that will provide a        download times, one can select one of the following pre-defined "aliases"
92        sub-set of the entire MITgcm source "tree":</p>        that will provide a sub-set of the entire MITgcm source "tree":</p>
93    
94      <table align="center" border="0" cellpadding="10" width="90%" summary="CVS      <table align="center" border="0" cellpadding="10" width="90%" summary="CVS
95        aliases">        aliases">
# Line 82  $  cvs co MITgcm MITgcm_contrib Line 103  $  cvs co MITgcm MITgcm_contrib
103        </tr>        </tr>
104        <tr bgcolor="#bbddff">        <tr bgcolor="#bbddff">
105          <td width="25%">MITgcm_verif_basic</td>          <td width="25%">MITgcm_verif_basic</td>
106          <td>Source code plus three of the verification examples          <td>Source code plus a small set of the verification examples
107            ("adjustment.128x64x1", "internal_wave", and            ("aim.5l_cs", "hs94.128x64x5", "ideal_2D_oce", "lab_sea",
108            "solid-body.cs-32x32x1").</td>             "tutorial_baroclinic_gyre", "tutorial_global_oce_latlon"
109       </tr>             and "tutorial_plume_on_slope").</td>
110          </tr>
111          <tr bgcolor="#bbffdd">
112            <td width="25%">MITgcm_tutorials</td>
113            <td>Source code plus all of the tutorials examples.</td>
114          </tr>
115          <tr bgcolor="#bbddff">
116            <td width="25%">MITgcm_verif_all</td>
117            <td>Source code plus all of the verification examples.</td>
118          </tr>
119          <!--
120        <tr bgcolor="#bbffdd">        <tr bgcolor="#bbffdd">
121          <td width="25%">MITgcm_verif_atmos</td>          <td width="25%">MITgcm_verif_atmos</td>
122          <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 125  $  cvs co MITgcm MITgcm_contrib
125          <td width="25%">MITgcm_verif_ocean</td>          <td width="25%">MITgcm_verif_ocean</td>
126          <td>Source code plus all of the oceanic examples.</td>          <td>Source code plus all of the oceanic examples.</td>
127       </tr>       </tr>
       <tr bgcolor="#bbffdd">  
         <td width="25%">MITgcm_verif_all</td>  
         <td>Source code plus all of the verification examples.</td>  
       </tr>  
       <!--  
128        <tr bgcolor="#bbddff">        <tr bgcolor="#bbddff">
129          <td width="25%"></td>          <td width="25%"></td>
130          <td></td>          <td></td>
# Line 110  $  cvs co MITgcm MITgcm_contrib Line 136  $  cvs co MITgcm MITgcm_contrib
136        -->        -->
137      </table>      </table>
138    
139        <p>It is important to note that the CVS aliases above cannot be used in
140          conjunction with the CVS <i>-d DIRNAME</i> option.  However, the MITgcm
141          directories they create can be changed to a different name following the
142          check-out:</p>
143    <pre>
144      $ cvs co -P MITgcm_verif_basic
145      $ mv MITgcm MITgcm_verif_basic
146    </pre>
147    
148      <h4>Getting Specific Releases or "Checkpoints"</h4>      <h4>Getting Specific Releases or "Checkpoints"</h4>
149        
150      <p>As shown within the <a      <p>As shown within the
151        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> -->
152        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>
153          , the MITgcm code is continuously undergoing updates.  At
154        points during the development (typically, after work has been done and the        points during the development (typically, after work has been done and the
155        source code has passed the <a href="testing/latest.html">verification        source code has passed the <a href="./testing.html">verification
156        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
157        convenient mechanism for referring to different times or points within the        convenient mechanism for referring to different times or points within the
158        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
159        option such as: </p>        option such as: </p>
160    
 <blockquote>  
161  <pre>  <pre>
162  $  cvs co -r release1_p5 MITgcm    $ cvs co -P -r release1_p5 MITgcm
163  $  cvs co -r checkpoint52a_post MITgcm    $ cvs co -P -r checkpoint52a_post MITgcm
164  </pre>  </pre>
 </blockquote>  
165    
166      <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
167        latest version of all files.</p>        latest version of all files. To download an older version corresponding
168          to a specific time, e.g., May 1rst, 2008, at 5pm, one can use the "-D"
169          CVS option as follows: </p>
170    
171    <pre>
172      $ cvs co -P -D "2008-05-01 17:00" MITgcm
173    </pre>
174    
175      <h4>Show changes that YOU have made</h4>      <h4>Show changes that YOU have made</h4>
176    
# Line 140  $  cvs co -r checkpoint52a_post MITgcm Line 178  $  cvs co -r checkpoint52a_post MITgcm
178        that you yourself have made since obtaining the code.  From within        that you yourself have made since obtaining the code.  From within
179        your working directory:</p>        your working directory:</p>
180    
181  <blockquote>  <pre>
182  <pre>cvs diff</pre>    cvs diff
183  </blockquote>  </pre>
184    
185    
186      <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
187        checked out. It acts recursively on all directories below your current        checked out. It acts recursively on all directories below your current
188        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
189        specifying those as arguments:</p>        specifying those as arguments:</p>
190    
191  <blockquote>  <pre>
192  <pre>cvs diff <i>file</i></pre>    cvs diff <i>file</i>
193  </blockquote>  </pre>
194    
195    
196      <h4>Show changes to the repository that you don't have</h4>      <h4>Show changes to the repository that you don't have</h4>
197    
198      <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
199        date.  To see what needs to be updated:</p>        date.  To see what needs to be updated:</p>
200    
201  <blockquote>  <pre>
202  <pre>cvs -n update</pre>    cvs -n update
203  </blockquote>  </pre>
204    
205      <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
206        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 211  $  cvs co -r checkpoint52a_post MITgcm
211      <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
212        working code up to date:</p>        working code up to date:</p>
213    
214  <blockquote>  <pre>
215  <pre>cvs update -d -P</pre>    cvs update -d -P
216  </blockquote>  </pre>
217    
218        <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.
219          To update just a specific file or directory:</p>          To update just a specific file or directory:</p>
220    
221  <blockquote>  <pre>
222  <pre>cvs update <i>file</i></pre>    cvs update <i>file</i>
223  </blockquote>  </pre>
224    
225      <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
226        a specific version.</p>        a specific version.</p>
227    
228  <blockquote>  <pre>
229  <pre>cvs update -d -P -r release1_p5</pre>    cvs update -d -P -r release1_p5
230  </blockquote>  </pre>
231    
232      <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
233        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
234        follows:</p>        follows:</p>
235    
236  <blockquote>  <pre>
237  <pre>cvs update -d -P -A</pre>    cvs update -d -P -A
238  </blockquote>  </pre>
239    
240      <p>"cvs update" produces output to the terminal with the following      <p>"cvs update" produces output to the terminal with the following
241        meanings:</p>        meanings:</p>
242        
243      <table align="center" border="0" cellpadding="10" width="90%" summary="CVS      <table align="center" border="0" cellpadding="10" width="90%" summary="CVS
244        update codes">        update codes">
245        <tr bgcolor="#00cccc">        <tr bgcolor="#00cccc">
# Line 242  $  cvs co -r checkpoint52a_post MITgcm Line 282  $  cvs co -r checkpoint52a_post MITgcm
282    
283      <h4>Wow! CVS is so good, where can I learn more?</h4>      <h4>Wow! CVS is so good, where can I learn more?</h4>
284    
285      <p>The <a href="http://www.loria.fr/~molli/cvs/doc/cvs_toc.html">basic      <p>The <a
286        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
287        href="http://web.mit.edu/afs/athena.mit.edu/project/gnu/doc/html/cvs_toc.html">online        manual</a> is a good reference.
288        tutorial</a> as well as an <a        For those who prefer the good old fashioned book there's
289        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>  
290    
291    </body>    </body>
292  </html>  </html>

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

  ViewVC Help
Powered by ViewVC 1.1.22