| 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} | 
| 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> | 
| 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 commands. | 
       Using CVS pserver from the command line requires just a three commands. | 
| 36 | 
       Using a Bourne, "bash", or "sh-compatible" shell they are:</p> | 
       Using a Bourne, "bash", or "sh-compatible" shell they are:</p> | 
| 37 | 
      | 
  | 
| 38 | 
 <pre> | 
 <pre> | 
| 39 | 
   $ export CVSROOT=':pserver:cvsanon@mitgcm.org:/u/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 -P MITgcm | 
| 43 | 
 </pre> | 
 </pre> | 
| 44 | 
  | 
  | 
| 45 | 
     <p>Using a "C", "csh", or "tcsh" shell the commands are:</p> | 
     <p>Using a "C", "csh", or "tcsh" shell the commands are:</p> | 
| 48 | 
   $ setenv CVSROOT ':pserver:cvsanon@mitgcm.org:/u/gcmpack' | 
   $ setenv CVSROOT ':pserver:cvsanon@mitgcm.org:/u/gcmpack' | 
| 49 | 
   $ cvs login | 
   $ cvs login | 
| 50 | 
     ( enter the CVS password: "cvsanon" ) | 
     ( enter the CVS password: "cvsanon" ) | 
| 51 | 
   $ cvs co MITgcm MITgcm_contrib | 
   $ 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> | 
| 68 | 
  | 
   $ cvs co -P MITgcm_contrib/submesoscale | 
| 69 | 
 </pre> | 
 </pre> | 
| 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 | 
| 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"> | 
| 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 a small set of the verification examples | 
         <td>Source code plus a small set of the verification examples | 
| 107 | 
           ("global_ocean.90x40x15", "aim.5l_cs", "hs94.128x64x5",  | 
           ("aim.5l_cs", "hs94.128x64x5", "ideal_2D_oce", "lab_sea", | 
| 108 | 
           "front_relax").</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> | 
| 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> | 
| 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 | 
  | 
  | 
| 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> | 
| 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 | 
  | 
  | 
| 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"> | 
| 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> |