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 |
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"> |
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 a small set of the verification examples |
<td>Source code plus a small set of the verification examples |
100 |
("global_ocean.90x40x15", "aim.5l_cs", "hs94.128x64x5", |
("aim.5l_cs", "hs94.128x64x5", "ideal_2D_oce", "lab_sea", |
101 |
"front_relax", and "plume_on_slope").</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> |
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> |
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 |
|
|
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> |
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. To download an older version corresponding |
161 |
|
to a specific time, e.g., May 1rst, 2008, at 5pm, one can use the "-D" |
162 |
|
CVS option as follows: </p> |
163 |
|
|
164 |
|
<pre> |
165 |
|
$ cvs co -P -D "2008-05-01 17:00" MITgcm |
166 |
|
</pre> |
167 |
|
|
168 |
<h4>Show changes that YOU have made</h4> |
<h4>Show changes that YOU have made</h4> |
169 |
|
|
232 |
|
|
233 |
<p>"cvs update" produces output to the terminal with the following |
<p>"cvs update" produces output to the terminal with the following |
234 |
meanings:</p> |
meanings:</p> |
235 |
|
|
236 |
<table align="center" border="0" cellpadding="10" width="90%" summary="CVS |
<table align="center" border="0" cellpadding="10" width="90%" summary="CVS |
237 |
update codes"> |
update codes"> |
238 |
<tr bgcolor="#00cccc"> |
<tr bgcolor="#00cccc"> |
275 |
|
|
276 |
<h4>Wow! CVS is so good, where can I learn more?</h4> |
<h4>Wow! CVS is so good, where can I learn more?</h4> |
277 |
|
|
278 |
<p>The <a href="http://www.loria.fr/~molli/cvs/doc/cvs_toc.html">basic |
<p>The <a |
279 |
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 |
280 |
href="http://web.mit.edu/afs/athena.mit.edu/project/gnu/doc/html/cvs_toc.html">online |
manual</a> is a good reference. |
281 |
tutorial</a> as well as an <a |
For those who prefer the good old fashioned book there's |
282 |
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> |
|
283 |
|
|
284 |
</body> |
</body> |
285 |
</html> |
</html> |