| Introduction to FCM |
|
|
What is FCM?The FCM (Flexible Configuration Management) system is designed to simplify the task of managing and building source code. The FCM system consists of 3 components:
The diagram below illustrates how these components fit together. ![]() Figure 1: FCM System Components
For further detail about the FCM system see the System Overview, part of the FCM user guide. What's new and improved?The FCM system is a completely different way of working. Here is a summary of the new and improved features that the system brings. Subversion
Branches
Trac
Build
Extract
Other
Importing the UM into FCMIn order to import the UM into FCM several modifications have been made to the code structure and layout.
![]() Figure 2: Repository Design
Comparison to Current Methods
Take a look at the UM repository via the Trac web interface - http://puma.nerc.ac.uk/trac/UM - You will need to login in with the userid/password sent you in the "Welcome to FCM" email. Have a look at the...... <to complete...>
Branches and Working Copies
In order to use FCM you need to have a basic understanding of version control. If you're not already familiar with Subversion or CVS then it is recommended that you read the chapter Fundamental Concepts in the Subversion Book. To gain an understanding of how to perform most of the normal day-to-day tasks using code management, read the Chapter Basic Usage in the Subversion book for a guided tour.
Insert diagram of trunk and interaction with met office. Show how branches are visualised and how revision numbers are incremental over the whole repository not to an individual user. See slide 24 in MO presentation.
Typically to make a code change and build a new model executable you would go through the following steps.
This process is depicted below. ![]() Figure 4: Typical Workflow
Types of BranchesWhen you create a new branch you have the option of creating various types of branch, this is merely a way of grouping branches of a similar type of work together. Most of the time you will want to create a development branch, this is the default. If you just want to try something out, then create a test branch.
Development Intended for development work that will eventually be fed back to the Met Office and incorporated into a future release of the UM. Development branches will have a pathname of the following form: branches/dev/userid/rnnn_name Test Branches of type test are for temporary work, that is not intended for a future UM release. Test branches will have a pathname of the following form: branches/test/userid/rnnn_name Others -Package branch: Used for combining multiple development branches. A package branch would also be used for managing project development like UKCA, UJCC, etc... - Configuration branch: Used for combining multiple packages and development branches.
FCM KeywordsThe UM repository is located at svn://puma/UM_svn/UM. Pathnames (or URLs as they are called in Subversion and FCM speak) to branches can be rather unwieldly. FCM provides keywords which are a shortcut to specifying these URLs making them shorter and much easier to remember. Keywords are specified with the fcm: prefix. For example, the following commands are equivalent: fcm ls svn://puma/UM_svn/UM/trunk fcm ls fcm:fcm_tr Standard keywords defined are:
Next StepsNow that you have an overview of what FCM is and how it works, it's time to get started! The UM FCM Tutorial <insert link here> is designed as a "hands-on" approach to familiarise yourself with the basic concepts and working practises.
P Note: Information in this document is based on Met Office FCM presentation UM_train_dev.ppt |
|||||||||||||||||||
| Last Updated ( Wednesday, 02 April 2008 ) | |||||||||||||||||||
| < Prev |
|---|




PUMA Service 



