- Timestamp:
- Jul 21, 2024, 1:47:00 PM (4 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/tools/fcm/doc/release_notes/1-2.html
r1578 r5094 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 1 <!DOCTYPE html> 3 2 <html> 4 3 <head> 5 4 <title>FCM 1.2 Release Notes</title> 6 <meta name="author" content="FCM development team"> 7 <meta name="descriptions" content="FCM Release Notes"> 8 <meta name="keywords" content="FCM, release"> 9 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 10 <link rel="stylesheet" type="text/css" href="style.css"> 5 <meta name="author" content="FCM team" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7 <link rel="icon" href="../etc/fcm-icon.png" type="image/png" /> 8 <link rel="shortcut icon" href="../etc/fcm-icon.png" type="image/png" /> 9 <link href="../etc/bootstrap/css/bootstrap.min.css" rel="stylesheet" media="screen" /> 10 <link href="../etc/fcm.css" rel="stylesheet" media="screen" /> 11 11 </head> 12 13 12 <body> 14 <h1>FCM 1.2 Release Notes<br> 15 22 March 2007</h1> 13 <div class="navbar navbar-inverse"> 14 <div class="container-fluid"> 15 <div class="navbar-header"> 16 <a class="navbar-brand" href=".."><span class="fcm-version">FCM</span></a> 17 </div> 18 <div class="collapse navbar-collapse"> 19 <ul class="nav navbar-nav"> 20 <li><a href="../installation/">Installation</a></li> 21 22 <li><a href="../user_guide/">User Guide</a></li> 23 </ul> 24 </div> 25 </div> 26 </div> 27 28 <div class="page-header"> 29 <div class="fcm-page-content pull-right well well-sm"></div> 30 <h1>FCM 1.2 Release Notes <small>22 March 2007</small></h1> 31 </div> 32 33 <div class="container"> 34 <div class="row"> 35 <div class="col-md-12"> 16 36 17 37 <p>These are the release notes for FCM release 1.2. You can use this release 18 of FCM freely under the terms of the <a href="../../LICENSE.html">FCM19 LICENSE</a>, which you should receive with this distribution.</p>38 of FCM freely under the terms of the FCM LICENSE, which you should receive 39 with the distribution of this release.</p> 20 40 21 41 <p>FCM is maintained by the FCM team at the Met Office. Please feedback any … … 23 43 "mailto:fcm-team@metoffice.gov.uk">e-mail</a>.</p> 24 44 25 <h2>Contents</h2> 26 27 <ul> 28 <li><a href="#new">What's New?</a></li> 29 30 <li><a href="#fix">Minor enhancements & Bug Fixes</a></li> 31 32 <li><a href="#req">System Requirements</a></li> 33 34 <li><a href="#ins">Installation</a></li> 35 </ul> 36 37 <h2><a name="new" id="new">What's New?</a></h2> 45 <h2 id="new">What's New?</h2> 38 46 39 47 <p>Code management commands:</p> 40 48 41 49 <ul> 42 <li>New options < tt>--trac</tt> and <tt>--wiki</tt> for <tt>fcm diff43 --branch</tt>.</li>44 45 <li>Allow other graphical diff tools to be used in place of <em>xxdiff</em>.46 < /li>50 <li>New options <code>--trac</code> and <code>--wiki</code> for <code>fcm 51 diff --branch</code>.</li> 52 53 <li>Allow other graphical diff tools to be used in place of 54 <code>xxdiff</code>.</li> 47 55 </ul> 48 56 … … 50 58 51 59 <ul> 52 <li>New document < em>External Distribution & Collaboration for FCM53 Projects</ em>.</li>54 </ul> 55 56 <h2 ><a name="fix" id="fix">Minor enhancements & Bug Fixes</a></h2>60 <li>New document <cite>External Distribution & Collaboration for FCM 61 Projects</cite>.</li> 62 </ul> 63 64 <h2 id="fix">Minor enhancements & Bug Fixes</h2> 57 65 58 66 <p>Build system:</p> … … 62 70 tree.</li> 63 71 64 <li>Improved the patterns for detecting <em>recursive</em>, <em>pure</em> 65 and <em>elemental</em> Fortran subroutines and functions.</li> 72 <li>Improved the patterns for detecting <code>recursive</code>, 73 <code>pure</code> and <code>elemental</code> Fortran subroutines and 74 functions.</li> 66 75 </ul> 67 76 … … 69 78 70 79 <ul> 71 <li>< tt>fcm branch --list</tt> now prints the branches using FCM URL72 keywords by default. Use the < tt>--verbose</tt> option to print branches73 in full Subversion URLs.</li>80 <li><code>fcm branch --list</code> now prints the branches using FCM URL 81 keywords by default. Use the <code>--verbose</code> option to print 82 branches in full Subversion URLs.</li> 74 83 </ul> 75 84 … … 77 86 78 87 <ul> 79 <li>Enhanced < tt>fcm cmp-ext-cfg</tt> to link to tickets.</li>80 81 <li>Improved handling of FCM URL keywords. The < tt>SET::REPOS</tt>88 <li>Enhanced <code>fcm cmp-ext-cfg</code> to link to tickets.</li> 89 90 <li>Improved handling of FCM URL keywords. The <code>SET::REPOS</code> 82 91 declaration in the central/user configuration file is deprecated in favour 83 of <tt>SET::URL</tt>. The keyword of the project with the standard suffices 84 (<tt>_tr</tt> or <tt>-tr</tt> for "trunk", <tt>_br</tt> or <tt>-br</tt> for 85 "branches", and <tt>_tg</tt> or <tt>-tg</tt> for "tags") are recognised 92 of <code>SET::URL</code>. The keyword of the project with the standard 93 suffices (<code>_tr</code> or <code>-tr</code> for <em>trunk</em>, 94 <code>_br</code> or <code>-br</code> for <em>branches</em>, and 95 <code>_tg</code> or <code>-tg</code> for <em>tags</em>) are recognised 86 96 automatically.</li> 87 97 … … 92 102 </ul> 93 103 94 <h2 ><a name="req" id="req">System Requirements</a></h2>95 96 <h3 ><a name="req_perl" id="req_perl">Perl</a></h3>104 <h2 id="req">System Requirements</h2> 105 106 <h3 id="req_perl">Perl</h3> 97 107 98 108 <p>The core part of FCM is a set of Perl scripts and modules. For the build … … 100 110 101 111 <ul> 102 <li class="mono">Carp</li>103 104 <li class="mono">Cwd</li>105 106 <li class="mono">File::Basename</li>107 108 <li class="mono">File::Compare</li>109 110 <li class="mono">File::Find</li>111 112 <li class="mono">File::Path</li>113 114 <li class="mono">File::Spec::Functions</li>115 116 <li class="mono">File::Spec</li>117 118 <li class="mono">FindBin</li>119 120 <li class="mono">Getopt::Long</li>121 122 <li class="mono">POSIX</li>112 <li>Carp</li> 113 114 <li>Cwd</li> 115 116 <li>File::Basename</li> 117 118 <li>File::Compare</li> 119 120 <li>File::Find</li> 121 122 <li>File::Path</li> 123 124 <li>File::Spec::Functions</li> 125 126 <li>File::Spec</li> 127 128 <li>FindBin</li> 129 130 <li>Getopt::Long</li> 131 132 <li>POSIX</li> 123 133 </ul> 124 134 … … 127 137 128 138 <ul> 129 <li class="mono">File::Temp</li>130 131 <li class="mono">Getopt::Long</li>132 133 <li class="mono">HTTP::Date</li>134 135 <li class="mono">XML::DOM</li>139 <li>File::Temp</li> 140 141 <li>Getopt::Long</li> 142 143 <li>HTTP::Date</li> 144 145 <li>XML::DOM</li> 136 146 </ul> 137 147 … … 140 150 141 151 <ul> 142 <li class="mono">Tk::ROText</li>143 144 <li class="mono">Tk</li>152 <li>Tk::ROText</li> 153 154 <li>Tk</li> 145 155 </ul> 146 156 … … 148 158 5.8.x. In addition the build system is being used with Perl 5.6.x.</p> 149 159 150 <h3 ><a name="req_svn" id="req_svn">Subversion</a></h3>160 <h3 id="req_svn">Subversion</h3> 151 161 152 162 <p>To use the code management commands (and relevant parts of the extract … … 167 177 Subversion installed on these platforms.</p> 168 178 169 <h3><a name="req_trac" id="req_trac">Trac</a></h3> 170 171 <p>The use of <a href="http://projects.edgewall.com/trac/">Trac</a> is 172 entirely optional (although highly recommended if you are using Subversion). 173 </p> 174 175 <ul> 176 <li>The <tt>--trac</tt> and <tt>--wiki</tt> options to the <tt>fcm diff 177 --branch</tt> command allow you to view branch differences using Trac. This 178 requires Trac 0.10.</li> 179 <h3 id="req_trac">Trac</h3> 180 181 <p>The use of <a href="http://trac.edgewall.org/">Trac</a> is entirely 182 optional (although highly recommended if you are using Subversion).</p> 183 184 <ul> 185 <li>The <code>--trac</code> and <code>--wiki</code> options to the 186 <code>fcm diff --branch</code> command allow you to view branch differences 187 using Trac. This requires Trac 0.10.</li> 179 188 180 189 <li>At the Met Office we are currently using Trac 0.10.3.</li> 181 190 </ul> 182 191 183 <h3 ><a name="req_other" id="req_other">Other Requirements</a></h3>184 185 <p>The < tt>fcm conflicts</tt> command requires <a href=192 <h3 id="req_other">Other Requirements</h3> 193 194 <p>The <code>fcm conflicts</code> command requires <a href= 186 195 "http://furius.ca/xxdiff/">xxdiff</a>. At the Met Office we are currently 187 using version 3.1. The < tt>fcm diff --graphical</tt> command also uses xxdiff188 by default although other graphical diff tools can also be used.</p>196 using version 3.1. The <code>fcm diff --graphical</code> command also uses 197 xxdiff by default although other graphical diff tools can also be used.</p> 189 198 190 199 <p>The build system requires <a href= … … 193 202 194 203 <p>Optionally, the build system can use <a href= 195 "http://www.ifremer.fr/ditigo/molagnon/fortran90 ">f90aib</a> to generate204 "http://www.ifremer.fr/ditigo/molagnon/fortran90/">f90aib</a> to generate 196 205 interface files. However, there is also a built in Perl based interface file 197 206 generator which is quicker and better in most cases so you are unlikely to … … 201 210 Met Office on Linux (Red Hat Enterprise 2.1 and 4.4) and HP-UX 11.00.</p> 202 211 203 <h2 ><a name="ins" id="ins">Installation</a></h2>212 <h2 id="ins">Installation</h2> 204 213 205 214 <p>FCM is distributed in the form of a compressed tar file. Un-pack the tar 206 file into an appropriate location on your system. Then add the <tt>bin</tt>207 directory into your PATH. Once you have done this you should now have full208 access to the FCM system, assuming that you have met the requirements209 described in the previous section.</p>215 file into an appropriate location on your system. Then add the 216 <samp>bin/</samp> directory into your <var>PATH</var>. Once you have done 217 this you should now have full access to the FCM system, assuming that you 218 have met the requirements described in the previous section.</p> 210 219 211 220 <p>If you wish to define keywords for your systems you will need to create a 212 file < tt>etc/fcm.cfg</tt>. An example file, <tt>fcm.cfg.eg</tt>, is provided213 which is a copy of the file currently used at the Met Office. For further214 details please refer to the section <a href=221 file <samp>etc/fcm.cfg</samp>. An example file, <samp>fcm.cfg.eg</samp>, is 222 provided which is a copy of the file currently used at the Met Office. For 223 further details please refer to the section <a href= 215 224 "../user_guide/system_admin.html#fcm-keywords">FCM keywords</a> in the System 216 225 Admin chapter of the User Guide.</p> 217 226 218 <p>The < tt>doc</tt> directory contains all the system documentation.</p>219 220 <ul> 221 <li>< tt>doc/release_notes</tt> contains these release notes. It also227 <p>The <samp>doc/</samp> directory contains all the system documentation.</p> 228 229 <ul> 230 <li><samp>doc/release_notes/</samp> contains these release notes. It also 222 231 contains the release notes for all previous versions which may be useful if 223 232 you have skipped any versions.</li> 224 233 225 <li>< tt>doc/user_guide</tt> contains the <a href="../user_guide/index.html">226 FCMUser Guide</a>.</li>227 228 <li>< tt>doc/design</tt> contains the <a href="../design/index.html">FCM229 De tailed Design</a> document (currently in draft form).</li>230 231 <li>< tt>doc/standards</tt> contains the FCM <a href=234 <li><samp>doc/user_guide/</samp> contains the <a href="../user_guide/">FCM 235 User Guide</a>.</li> 236 237 <li><samp>doc/design/</samp> contains the <a href="../design/">FCM Detailed 238 Design</a> document (currently in draft form).</li> 239 240 <li><samp>doc/standards/</samp> contains the FCM <a href= 232 241 "../standards/perl_standard.html">Perl</a> and <a href= 233 242 "../standards/fortran_standard.html">Fortran</a> coding standards. The Perl … … 238 247 on good practise.</li> 239 248 240 <li>< tt>doc/collaboration</tt> contains the <a href=249 <li><samp>doc/collaboration/</samp> contains the <a href= 241 250 "../collaboration/index.html">External Distribution & Collaboration for 242 251 FCM Projects</a> document which discusses how projects configured under FCM … … 244 253 </ul> 245 254 246 <p>The < tt>tutorial</tt> directory contains the files necessary to set up a247 tutorial repository. This will allow you to follow the <a href=255 <p>The <samp>tutorial/</samp> directory contains the files necessary to set 256 up a tutorial repository. This will allow you to follow the <a href= 248 257 "../user_guide/getting_started.html#tutorial">tutorial section</a> in the 249 258 User Guide.</p> 250 259 251 260 <ul> 252 <li>The file < tt>tutorial/repos/tutorial.dump</tt> should be loaded into an253 empty repository using the <tt>svnadmin load</tt> command.</li>254 255 <li>The hook scripts in < tt>tutorial/hook</tt> should then be installed in256 this repository in order to prevent any commits to the trunk. Note that the257 configuration file <tt>svnperms.conf</tt> assumes that the tutorial258 repository is called <tt>tutorial_svn</tt>. Please edit this file if you259 use a different name.</li>261 <li>The file <samp>tutorial/repos/tutorial.dump</samp> should be loaded 262 into an empty repository using the <code>svnadmin load</code> command.</li> 263 264 <li>The hook scripts in <samp>tutorial/hook/</samp> should then be 265 installed in this repository in order to prevent any commits to the trunk. 266 Note that the configuration file <samp>svnperms.conf</samp> assumes that 267 the tutorial repository is called <samp>tutorial_svn</samp>. Please edit 268 this file if you use a different name.</li> 260 269 261 270 <li>The repository should be configured to allow users write access. You … … 267 276 </ul> 268 277 269 <p>The < tt>templates</tt> directory contains various example scripts which270 you may find useful. Note that these scripts are all specific to the Met271 Office and may contain hard coded paths and email addresses. They are278 <p>The <samp>templates/</samp> directory contains various example scripts 279 which you may find useful. Note that these scripts are all specific to the 280 Met Office and may contain hard coded paths and email addresses. They are 272 281 provided in the hope that you may find them useful as templates for setting 273 282 up similar scripts of your own. However, they should only be used after … … 275 284 follows:</p> 276 285 277 <table summary="list of template scripts" border="1" width="100%"> 278 <tr> 279 <th>Script</th> 280 281 <th>Description</th> 282 </tr> 283 284 <tr> 285 <th>templates/hook/pre-commit</th> 286 287 <td> 288 This script restricts write-access to the repository by checking the 289 following: 290 291 <ul> 292 <li>It executes the Subversion utility <tt>svnperms.py</tt> if it 293 exists. This utility checks whether the author of the current 294 transaction has enough permission to write to particular paths in the 295 repository.</li> 296 297 <li>It checks the disk space required by the current transaction. It 298 fails the commit if it requires more than 5Mb of disk space.</li> 299 </ul> 300 </td> 301 </tr> 302 303 <tr> 304 <th>templates/hook/post-commit</th> 305 306 <td>A simple post-commit hook script which runs the script 307 <tt>post-commit-background</tt> in the background.</td> 308 </tr> 309 310 <tr> 311 <th>templates/hook/post-commit-background</th> 312 313 <td> 314 This script runs in the background after each commit 315 316 <ul> 317 <li>It updates a <tt><repos>.latest</tt> file with the latest 318 revision number.</li> 319 320 <li>It creates a dump of the new revision.</li> 321 322 <li>It calls the script <tt>background_updates.pl</tt> if it 323 exists.</li> 324 </ul>This script is installed as standard in all our repositories. 325 </td> 326 </tr> 327 328 <tr> 329 <th>templates/hook/background_updates.pl</th> 330 331 <td>An example of how you may want to set up a 332 <tt>background_updates.pl</tt> script to perform post-commit tasks for a 333 specific repository. This script uses a lock file to prevent multiple 334 commits in quick succession from causing problems.</td> 335 </tr> 336 337 <tr> 338 <th>templates/hook/pre-revprop-change</th> 339 340 <td>A simple pre-revprop-change hook script which runs the script 341 <tt>pre-revprop-change.pl</tt>.</td> 342 </tr> 343 344 <tr> 345 <th>templates/hook/pre-revprop-change.pl</th> 346 347 <td>If a user attempts to modify the log message of a changeset and 348 he/she is not the original author of the changeset, this script will 349 e-mail the original author. You can also set up a watch facility to 350 monitor changes of log messages that affect particular paths in the 351 repository. For further details please refer to the section <a href= 352 "../user_guide/system_admin.html#svn_watch">Watching changes in log 353 messages</a> in the System Admin chapter of the User Guide.</td> 354 </tr> 355 356 <tr> 357 <th>templates/hook/post-revprop-change</th> 358 359 <td>A simple post-revprop-change hook script which runs the script 360 <tt>post-revprop-change.py</tt>.</td> 361 </tr> 362 363 <tr> 364 <th>templates/hook/post-revprop-change.py</th> 365 366 <td>This hook script updates the Trac SQLite database following a 367 successful change in the log message.</td> 368 </tr> 369 370 <tr> 371 <th>templates/utils/cron_template.ksh</th> 372 373 <td>An example of how you might set up a cron job to make use of the 374 <tt><repos>.latest</tt> file.</td> 375 </tr> 376 377 <tr> 378 <th>templates/utils/daily_cron</th> 379 380 <td>The cron job which we run each night. It verifies and backs up each 381 of our repositories, housekeeps the revision dumps created by 382 <tt>post-commit-background</tt> and backs up each of our Trac systems. It 383 also handles the distribution of FCM to various platforms at the Met 384 Office.</td> 385 </tr> 386 387 <tr> 388 <th>templates/utils/fcm_add_trac.pl</th> 389 390 <td>This script sets up a new Trac system and applies some configuration 391 options which we use by default at the Met Office.</td> 392 </tr> 393 394 <tr> 395 <th>templates/utils/recover_svn.pl</th> 396 397 <td>This script allows us to recover all of our Subversion repositories 398 by using the nightly backups and the repository dumps.</td> 399 </tr> 400 </table> 286 <dl> 287 <dt>templates/hook/pre-commit</dt> 288 289 <dd> 290 This script restricts write-access to the repository by checking the 291 following: 292 293 <ul> 294 <li>It executes the Subversion utility <code>svnperms.py</code> if it 295 exists. This utility checks whether the author of the current 296 transaction has enough permission to write to particular paths in the 297 repository.</li> 298 299 <li>It checks the disk space required by the current transaction. It 300 fails the commit if it requires more than 5Mb of disk space.</li> 301 </ul> 302 </dd> 303 304 <dt>templates/hook/post-commit</dt> 305 306 <dd>A simple post-commit hook script which runs the script 307 <code>post-commit-background</code> in the background.</dd> 308 309 <dt>templates/hook/post-commit-background</dt> 310 311 <dd> 312 This script runs in the background after each commit 313 314 <ul> 315 <li>It updates a <samp><repos>.latest</samp> file with the latest 316 revision number.</li> 317 318 <li>It creates a dump of the new revision.</li> 319 320 <li>It calls the script <code>background_updates.pl</code> if it 321 exists.</li> 322 </ul>This script is installed as standard in all our repositories. 323 </dd> 324 325 <dt>templates/hook/background_updates.pl</dt> 326 327 <dd>An example of how you may want to set up a 328 <code>background_updates.pl</code> script to perform post-commit tasks for 329 a specific repository. This script uses a lock file to prevent multiple 330 commits in quick succession from causing problems.</dd> 331 332 <dt>templates/hook/pre-revprop-change</dt> 333 334 <dd>A simple pre-revprop-change hook script which runs the script 335 <code>pre-revprop-change.pl</code>.</dd> 336 337 <dt>templates/hook/pre-revprop-change.pl</dt> 338 339 <dd>If a user attempts to modify the log message of a changeset and he/she 340 is not the original author of the changeset, this script will e-mail the 341 original author. You can also set up a watch facility to monitor changes of 342 log messages that affect particular paths in the repository. For further 343 details please refer to the section <a href= 344 "../user_guide/system_admin.html#svn_watch">Watching changes in log 345 messages</a> in the System Admin chapter of the User Guide.</dd> 346 347 <dt>templates/hook/post-revprop-change</dt> 348 349 <dd>A simple post-revprop-change hook script which runs the script 350 <code>post-revprop-change.py</code>.</dd> 351 352 <dt>templates/hook/post-revprop-change.py</dt> 353 354 <dd>This hook script updates the Trac SQLite database following a 355 successful change in the log message.</dd> 356 357 <dt>templates/utils/cron_template.ksh</dt> 358 359 <dd>An example of how you might set up a cron job to make use of the 360 <samp><repos>.latest</samp> file.</dd> 361 362 <dt>templates/utils/daily_cron</dt> 363 364 <dd>The cron job which we run each night. It verifies and backs up each of 365 our repositories, housekeeps the revision dumps created by 366 <code>post-commit-background</code> and backs up each of our Trac systems. 367 It also handles the distribution of FCM to various platforms at the Met 368 Office.</dd> 369 370 <dt>templates/utils/fcm_add_trac.pl</dt> 371 372 <dd>This script sets up a new Trac system and applies some configuration 373 options which we use by default at the Met Office.</dd> 374 375 <dt>templates/utils/recover_svn.pl</dt> 376 377 <dd>This script allows us to recover all of our Subversion repositories by 378 using the nightly backups and the repository dumps.</dd> 379 </dl> 380 381 </div> 382 </div> 383 </div> 384 385 <hr/> 386 <div class="container-fluid text-center"> 387 <div class="row"><div class="col-md-12"> 388 <address><small> 389 Copyright © 2006-2021 British Crown (Met Office) & Contributors. 390 <a href="http://www.metoffice.gov.uk">Met Office</a>. 391 See <a href="../etc/fcm-terms-of-use.html">Terms of Use</a>.<br /> 392 This document is released under the British <a href= 393 "http://www.nationalarchives.gov.uk/doc/open-government-licence/" rel= 394 "license">Open Government Licence</a>.<br /> 395 </small></address> 396 </div></div> 397 </div> 398 399 <script type="text/javascript" src="../etc/jquery.min.js"></script> 400 <script type="text/javascript" src="../etc/bootstrap/js/bootstrap.min.js"></script> 401 <script type="text/javascript" src="../etc/fcm.js"></script> 402 <script type="text/javascript" src="../etc/fcm-version.js"></script> 401 403 </body> 402 404 </html>
Note: See TracChangeset
for help on using the changeset viewer.