These are the release notes for FCM 2-1. 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.
No major new features in this release.
fcm branch-create
if the --ticket=N
option is not specified and
NAME contains only a list of positive integers separated by
[_-]
(an underscore or a hyphen), the command will now assume
that NAME also specifies the related ticket numbers.
ticket numbers will now prefix the 1st line of the automatic commit log message.
fcm cmp-ext-cfg
fixed --wiki-format=TARGET
option, broken at 2-0.
fcm export-items
fixed --new
option, broken at 2-0.
now generate real v* directories and revision directories as symbolic links.
fcm_update_version_dir.pl
removed.
fcm make
build: allow space between #
and include
for
#include
syntax in C or Fortran source files requiring
pre-processing.
build: will now fail when an invalid target key is specified.
build: correctly support compilers and linkers that require a space between an option flag and its argument.
build: will no longer call ar
for single file link.
build: improve error message if a target does not exist in the expected location following an update.
build: target-rename
declarations are now non-cumulative,
as documented.
build: build.prop{file-name-option.f90-mod} = case=upper
can now be specified for compilers that generate MODULE.mod
files for Fortran modules (as opposed to the more common
module.mod convention).
extract: path-incl
, path-excl
,
path-root
declarations no longer require a name-space.
extract: fixed error handling when multiple processing.
fcm mkpatch
fixed CLI prompt to confirm removal of old output directory.
ensure initial branch creation is ignored.
fcm branch-create
, fcm
branch-delete
and fcm commit
now support the
[helpers] editor-cmd option defined in
$HOME/.subversion/config.
nedit
is no longer the default external text editor.
vi
is the default external text editor for the command line
interface. gedit
is the default external text editor for
fcm gui
.
the inc=LOCATION
is no longer supported for configuration
files in the new part of the system.
incorrect variable assignment syntax will now trigger an exception.
leading and trailing spaces in modifiers and name-space are now ignored without triggering Perl warnings.
fcm
no longer requires the XML::DOM
Perl
module. It now uses XML::Parser
instead. The latter is
normally installed by default on most Unix/Linux platforms.
The core part of FCM is a set of Perl scripts and modules. At the Met Office, FCM runs on:
Text::ParseWords
(core Perl module) is upgraded to
version 3.22.
Met Office users do not use the code management commands and the extract system on this platform.
HTTP::Date
in libwww-perl is
required by fcm extract
and the extract system in fcm
make
. (libwww-perl 5.79 installed.)
XML::Parser is required by the code management commands. (2.34 installed.)
Tk is required by the
fcm gui
command. (Tk 804.027 installed.)
To use the code management commands (and relevant parts of the extract system) you need to have Subversion installed.
FCM requires Subversion 1.4.x or above. At the Met Office we are currently using Subversion 1.4.3.
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.7. 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 fcm make
command uses gzip
. At the Met
Office we are currently using gzip 1.2.4 on AIX 5.3 and gzip 1.3.3 on RHEL
4.
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 mirror system uses rsync to mirror source file to another machine. At the Met Office we are currently using version 2.6.3
The deprecated fcm build
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.post-commit-background-custom
if it
exists.pre-revprop-change.pl
.trac-admin
command to resync
the revision
property cache stored in the corresponding Trac environment.fcm
.