These are the release notes for FCM release 1.5. You can use this release of FCM freely under the terms of the FCM LICENSE, which you should receive with the distribution of this release.
FCM is maintained by the FCM team at the Met Office. Please feedback any bug reports or feature requests to us by e-mail.
fcm branch --list --show-all
fcm keyword-print
: new commandSET::TRAC
declaration is no longer supported.fcm update
: improvementfcm update
command applies to a whole working copy. If
the working copy contains local changes, the command will prompt the user
for confirmation.fcm build
: new NO_DEP
declaration to switch
off dependency checkingfcm build
: incorrect behaviour when dealing with the
removal of TOOL declarations in incremental modefcm build
did not always handle the removal of TOOL
declarations from the build configuration correctly in incremental mode.
This has been fixed.fcm build
: new TOOL::FC_MODSEARCH
declarationTOOL::FC_MODSEARCH
declaration allows
such an option to be specified in the build configuration file.fcm build
: incorrect logic for handling
INHERIT::SRC
declarationsfcm build
: incorrect logic for generating exclude
dependency files for directory-based librariesfcm build
: incorrect logic for handling
SRC_TYPE
SRC_TYPE
declaration. This has been fixed.fcm build
: improvement to the Fortran interface file
generatorfcm commit
: improvement to the commit message
delimiterfcm commit
: svn:special
and
svn:executable
svn checkout
to fail if the target is removed. To avoid the
potential problem, fcm commit
has been altered to remove the
svn:executable
property if a path is a symbolic link.fcm extract
: handling of file permission changes in
incremental modefcm extract
did not handle file permission changes in
incremental mode. This has been fixed.fcm extract
: handling of symbolic linksfcm extract
.
They are now removed from the extract.fcm extract
and fcm build
: machine
hostnamefcm extract
: missing RDEST
in the on-success
configuration fileRDEST
declarations were missing from the on-success
generated configuration file. This has been fixed.fcm extract
: improved options for the mirror
sub-systemrsync
command in the extract configuration file. In addition, ssh
is
now the default remote shell command.fcm cmp-ext-cfg
: changed verbose option--verbose
option now requires an argument.The core part of FCM is a set of Perl scripts and modules. The following
core/CPAN Perl modules are required to invoke the fcm
command:
Carp Cwd File::Basename File::Compare File::Copy File::Find File::Path File::Spec File::Spec::Functions File::Temp FindBin Getopt::Long HTTP::Date IO::File List::Util POSIX Pod::Usage Scalar::Util Sys::Hostname Text::ParseWords URI XML::DOM
The following Perl modules are also required if you want to use the
fcm gui
command:
Tk Tk::ROText
At the Met Office we are currently using FCM with Perl 5.8.2 on AIX 5.3 and Perl 5.8.5 on RHEL 4.
To use the code management commands (and relevant parts of the extract system) you need to have Subversion installed.
At the Met Office we are currently using Subversion 1.4.3. Note: FCM 1.5 requires Subversion 1.4.x (but it has not been tested on Subversion 1.5.x or above).
Note: you can use the extract system to mirror code to a remote platform for building. Therefore it is only necessary to have Subversion installed on the platform where you do your code development. If you use other platforms purely for building and running then you do not need to have Subversion installed on these platforms.
The use of Trac is entirely optional (although highly recommended if you are using Subversion).
At the Met Office we are currently using Trac 0.11.2.1. Note:
--trac
and --wiki
options to the
fcm diff --branch
command allow you to view branch differences
using Trac. This requires Trac 0.10 or above.The fcm conflicts
command requires xxdiff. At the Met Office we are currently
using version 3.1. The fcm diff --graphical
command also uses
xxdiff by default although other graphical diff tools can also be used.
The extract system uses diff3
, (which is part of GNU diffutils), to merge
together changes where the same file is modified by two different branches
(compared with the base branch). At the Met Office we are currently using
version 2.8.1.
The extract system uses rsync to mirror source file to another machine. At the Met Office we are currently using version 2.6.3
The build system requires GNU make. At the Met Office we are currently using version 3.80.
FCM is intended to run on a Unix/Linux system. It is currently used at the Met Office on Linux (RHEL 4.8) and AIX 5.3.
FCM is distributed in the form of a compressed tar file. Un-pack the tar file into an appropriate location on your system. Add the bin/ directory into your PATH environment variable. Once you have done this you should now have full access to the FCM system, assuming that you have met the requirements described in the previous section.
You should find the following contents in the distribution:
fcm
command and other utilities.examples/svn-hooks/post-commit-background
).FCM::Admin::*
Perl library, which implements
the functionalities of the FCM admin utility commands.svnperms.py
if it,
and the associated svnperms.conf file, exist. This utility
checks whether the author of the current transaction has enough
permission to write to particular paths in the repository.post-commit-background
in the background.background_updates.pl
if it
exists.background_updates.pl
script to perform post-commit tasks for
a specific repository. This script uses a lock file to prevent multiple
commits in quick succession from causing problems.pre-revprop-change.pl
.trac-admin
command to resync
the revision
property cache stored in the corresponding Trac environment.fcm
.