New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
command_ref.html in vendors/doc/user_guide – NEMO

source: vendors/doc/user_guide/command_ref.html @ 10669

Last change on this file since 10669 was 10669, checked in by nicolasmartin, 5 years ago

Import latest FCM release from Github into the repository for testing

File size: 73.6 KB
Line 
1<!DOCTYPE html>
2<html>
3<head>
4  <title>FCM: User Guide: FCM Command Reference</title>
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</head>
12<body>
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 class="active" href="#">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: User Guide: FCM Command Reference</h1>
31  </div>
32
33  <div class="container">
34  <div class="row">
35  <div class="col-md-12">
36
37  <h2 id="introduction">Introduction</h2>
38
39  <p>This chapter describes all commands supported by <code>fcm</code>.
40  <code>fcm</code> has its own set of functionalities, but it also wraps all
41  <code>svn</code> commands.</p>
42
43  <p>In most wrappers to <code>svn</code>, <code>fcm</code> simply passes the
44  command directly on to <code>svn</code> (after expanding any keywords). These
45  commands are listed in the <a href="#svn">Other Subversion Commands</a>
46  section.</p>
47
48  <p>Where <code>fcm</code> adds more functionality to an <code>svn</code>
49  command, the command is discussed individually.</p>
50
51  <p>All command abbreviations supported by <code>svn</code> work with
52  <code>fcm</code>.</p>
53
54  <p>Subversion may prompt you for authentication if it is the first time you
55  write to a repository. The command fails if the authentication fails. A
56  command may support the <code>--non-interactive</code> or
57  <code>--svn-non-interactive</code> option. If such an option is specified,
58  Subversion will not prompt you for authentication, and the command will
59  simply fail if authentication is required. Please note that the option is
60  normally specified if you are running a command from the FCM GUI. If
61  authentication is required, you should run the command in interactive mode on
62  a command line, or by using the <code>--password=PASSWORD</code> option in
63  the <kbd>Other options</kbd>.</p>
64
65  <h2 id="env">Environment Variables</h2>
66
67  <p>The following environment variables are used by the <code>fcm</code>
68  command.</p>
69
70  <dl>
71    <dt id="env.FCM_CONF_PATH">FCM_CONF_PATH='/path/to/conf1
72    /path/to/conf2'</dt>
73
74    <dd>This variable is mainly used to test FCM. If specified, override the
75    paths for site and user configuration files.  The value should be a space
76    delimited list of paths where FCM site and user configuration files can be
77    found. The value can also be set to a null string to allow FCM to run with
78    no site or user configuration.  If not defined, the default to look for site
79    and user configuration files from <code>$FCM_HOME/etc/fcm/</code> and
80    <code>~/.metomi/fcm/</code> (where <var>$FCM_HOME/bin/fcm</var> is where the
81    <code>fcm</code> command is invoked.</dd>
82
83    <dt id="env.FCM_DEBUG">FCM_DEBUG=true</dt>
84
85    <dd>If specified, raises the verbosity to the <dfn>debug</dfn> level. This
86    is useful in debugging especially if a command does not accept a
87    <code>-v</code> option.</dd>
88
89    <dt id="env.FCM_GRAPHIC_DIFF">FCM_GRAPHIC_DIFF=<kbd>command</kbd></dt>
90
91    <dd>(Deprecated) Specifies an alternate command for doing graphical diff
92    tool. The <a href="annex_cfg.html#external">external</a> configuration file
93    should be used instead of this environment variable.</dd>
94
95    <dt id="env.FCM_GRAPHIC_MERGE">FCM_GRAPHIC_MERGE=<kbd>command</kbd></dt>
96
97    <dd>(Deprecated) Specifies an alternate command for doing graphical merge
98    tool. The <a href="annex_cfg.html#external">external</a> configuration file
99    should be used instead of this environment variable.</dd>
100
101    <dt id="env.FCM_VERBOSE">FCM_VERBOSE=<kbd>N</kbd></dt>
102
103    <dd>(Deprecated) An alternate way to specify the verbosity for FCM 1 extract
104    and build systems.</dd>
105  </dl>
106
107  <h2 id="fcm-add">fcm add</h2>
108
109  <dl>
110    <dt>Usage</dt>
111
112    <dd><code>fcm add --check (-c) [PATH]</code><br />
113    <code>fcm add &lt;any valid <em>svn add</em> options&gt;</code></dd>
114
115    <dt>Description</dt>
116
117    <dd>
118      <p>In the 1st form (i.e. <code>fcm add --check</code>), the system checks
119      for any files which are not currently under version control (i.e. those
120      marked with a <samp>?</samp> by <code>svn status</code>) and prompts the
121      user to make a decision on whether to schedule them for addition at the
122      next commit (using <code>svn add</code>).</p>
123
124      <p>In the 2nd form (i.e. without the <code>--check</code> option),
125      <code>fcm add</code> simply pass control to <code>svn add</code>. (For
126      detail of usage, please refer to the <a href=
127      "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.add.html">Subversion
128      book</a>.)</p>
129
130      <p>For further details refer to the section <a href=
131      "code_management.html#svn_basic_check">Adding and Removing Files</a>.</p>
132    </dd>
133  </dl>
134
135  <h2 id="fcm-branch">fcm branch</h2>
136
137  <dl>
138    <dt>Description</dt>
139
140    <dd>
141      <p>Deprecated. The 4 usages of this command have been replaced by the
142      following commands:</p>
143
144      <dl>
145        <dt><code>fcm branch --create --name NAME</code></dt>
146
147        <dd><a href="#fcm-branch-create">fcm branch-create</a></dd>
148
149        <dt><code>fcm branch --delete</code></dt>
150
151        <dd><a href="#fcm-branch-delete">fcm branch-delete</a></dd>
152
153        <dt><code>fcm branch [--info]</code></dt>
154
155        <dd><a href="#fcm-branch-info">fcm branch-info</a></dd>
156
157        <dt><code>fcm branch --list</code></dt>
158
159        <dd><a href="#fcm-branch-list">fcm branch-list</a></dd>
160      </dl>
161    </dd>
162
163    <dt>Alternate Names</dt>
164
165    <dd>br</dd>
166  </dl>
167
168  <h2 id="fcm-branch-create">fcm branch-create</h2>
169
170  <dl>
171    <dt>Usage</dt>
172
173    <dd><code>fcm branch-create [OPTIONS] NAME [SOURCE]</code></dd>
174
175    <dt>Description</dt>
176
177    <dd>
178      <p>Creates a new branch.</p>
179
180      <p>The 1st argument <var>NAME</var> must be the short name for your
181      branch. The name of the branch must contain only characters in the set
182      <code>[A-Za-z0-9_-.]</code>. If the <code>--ticket=N</code> option is not
183      specified and <var>NAME</var> contains only a list of positive integers
184      separated by <code>[_-]</code> (an underscore or a hyphen), the command
185      will assume that <var>NAME</var> also specifies the related ticket
186      numbers.</p>
187
188      <p>If the 2nd argument <var>SOURCE</var> is specified, it must either be
189      a URL or a path to a working copy of a standard FCM project. Otherwise,
190      the current working directory must be a working copy of a standard FCM
191      project.</p>
192
193      <p>This command performs the following actions:</p>
194
195      <ul>
196        <li>It determines the last changed revision of the trunk/source branch
197        at the HEAD (or the specified) revision.</li>
198
199        <li>It constructs the branch name from the option you have specified
200        and reports it.</li>
201
202        <li>It checks that the chosen branch name does not currently exist. If
203        so, the command aborts with an error.</li>
204
205        <li>If you do not specify the <code>--non-interactive</code> option, it
206        starts an editor (using a similar convention as <a href=
207        "#fcm-commit">commit</a>) to allow you to add further comment to the
208        commit log message. A standard commit log template and change summary
209        is provided for you below the line that says <samp>--Add your commit
210        message ABOVE - do not alter this line or those below--</samp>. If you
211        need to add any extra message to the log, please do so
212        <strong>above</strong> this line. When you exit the editor, the command
213        will report the commit log before prompting for confirmation that you
214        wish to proceed (it aborts if not).</li>
215
216        <li>It uses <code>svn copy</code> to create the branch.</li>
217      </ul>
218
219      <p>For further details refer to the section <a href=
220      "code_management.html#svn_branching_create">Creating Branches</a>.</p>
221    </dd>
222
223    <dt>Options</dt>
224
225    <dd>
226      <dl>
227        <dt><code>--branch-of-branch</code>, <code>--bob</code></dt>
228
229        <dd>If the source URL is a valid URL of a branch in a standard FCM
230        project, this option tells the system to create a branch of the source
231        branch. Otherwise, it will normally create a branch from the
232        trunk.</dd>
233
234        <dt><code>--non-interactive</code></dt>
235
236        <dd>Tells the system not to prompt for anything. (The
237        <code>--svn-non-interactive</code> option is set automatically when you
238        specify <code>--non-interactive</code>.)</dd>
239
240        <dt><code>--password=PASSWORD</code></dt>
241
242        <dd>Specifies the password for authentication.</dd>
243
244        <dt><code>--rev-flag=NONE|NORMAL|NUMBER</code></dt>
245
246        <dd>Alters the branch name prefix behaviour. Your branch name will
247        normally be prefixed by the revision number from which it is branched.
248        (E.g. if the branch name is <samp>my_branch</samp> and you are
249        branching from revision 123 of the trunk, the final name will be
250        <samp>r123_my_branch</samp>.) If this revision number is associated
251        with a revision keyword, the keyword will be used in place of the
252        revision number. (E.g. if revision 123 is associated with the keyword
253        vn6.1, <samp>r123_my_branch</samp> will become
254        <samp>vn6.1_my_branch</samp>.) If <code>NORMAL</code> is specified, it
255        uses the default behaviour. If <code>NUMBER</code> is specified, it
256        will always use the revision number as the prefix, regardless of
257        whether the revision number is defined as a keyword or not. If
258        <code>NONE</code> is specified, it will not add a prefix to your branch
259        name.</dd>
260
261        <dt><code>--svn-non-interactive</code></dt>
262
263        <dd>Tells the system to run <code>svn</code> in non-interactive
264        mode.</dd>
265
266        <dt><code>--switch</code>, <code>-s</code></dt>
267
268        <dd><code><a href="#fcm-switch">fcm switch</a></code> the current
269        working directory (if it contains a relevant working copy) to point to
270        the newly created branch after the branch is created.</dd>
271
272        <dt><code>--ticket=N</code>, <code>-k N</code></dt>
273
274        <dd>Specifies one or more Trac ticket numbers, which the branch relates
275        to. Multiple ticket numbers can be set by specifying this option
276        multiple times, or by using a comma-separated list of ticket numbers as
277        the argument to the option. If set, the ticket numbers will be included
278        in the commit log message.</dd>
279
280        <dt><code>--type=TYPE</code>, <code>-t TYPE</code></dt>
281
282        <dd>
283          Specifies the type of branch to create. The argument to the option
284          must be one of the following:
285
286          <dl>
287            <dt><code>DEV::USER</code>, <code>DEV</code>, <code>USER</code>
288            (default)</dt>
289
290            <dd>A development branch for the current user (e.g.
291            <samp>branches/dev/&lt;user_id&gt;/&lt;branch_name&gt;</samp>)</dd>
292
293            <dt><code>DEV::SHARE</code>, <code>SHARE</code></dt>
294
295            <dd>A shared development branch (e.g.
296            <samp>branches/dev/Share/&lt;branch_name&gt;</samp>)</dd>
297
298            <dt><code>TEST::USER</code>, <code>TEST</code></dt>
299
300            <dd>A test branch for the current user (e.g.
301            <samp>branches/test/&lt;user_id&gt;/&lt;branch_name&gt;</samp>)</dd>
302
303            <dt><code>TEST::SHARE</code></dt>
304
305            <dd>A shared test branch (e.g.
306            <samp>branches/test/Share/&lt;branch_name&gt;</samp>)</dd>
307
308            <dt><code>PKG::USER</code>, <code>PKG</code></dt>
309
310            <dd>A package branch for the current user (e.g.
311            <samp>branches/pkg/&lt;user_id&gt;/&lt;branch_name&gt;</samp>)</dd>
312
313            <dt><code>PKG::SHARE</code></dt>
314
315            <dd>A shared package branch (e.g.
316            <samp>branches/pkg/Share/&lt;branch_name&gt;</samp>)</dd>
317
318            <dt><code>PKG::CONFIG</code>, <code>CONFIG</code></dt>
319
320            <dd>A configuration branch (e.g.
321            <samp>branches/pkg/Config/&lt;branch_name&gt;</samp>)</dd>
322
323            <dt><code>PKG::REL</code>, <code>REL</code></dt>
324
325            <dd>A release branch (e.g.
326            <samp>branches/pkg/Rel/&lt;branch_name&gt;</samp>)</dd>
327          </dl>
328        </dd>
329      </dl>
330    </dd>
331
332    <dt>Alternate Names</dt>
333
334    <dd>bcreate, bc</dd>
335  </dl>
336
337  <h2 id="fcm-branch-delete">fcm branch-delete</h2>
338
339  <dl>
340    <dt>Usage</dt>
341
342    <dd><code>fcm branch-delete [OPTIONS] [TARGET]</code></dd>
343
344    <dt>Description</dt>
345
346    <dd>
347      <p>Deletes a branch.</p>
348
349      <p>If <var>TARGET</var> is specified, it must either be a URL or a path
350      to a local working copy of a valid branch of a standard FCM project.
351      Otherwise, the current working directory must be a working copy of a
352      valid branch of a standard FCM project.</p>
353
354      <p>This command performs the following actions:</p>
355
356      <ul>
357        <li>Firstly, it provides exactly the same output as <a href=
358        "#fcm-branch-info">fcm branch-info</a>.</li>
359
360        <li>If you do not specify the <code>--non-interactive</code> option, it
361        starts an editor (using a similar convention as <a href=
362        "#fcm-commit">commit</a>) to allow you to add further comment to the
363        commit log message. A standard commit log template and change summary
364        is provided for you below the line that says <samp>--Add your commit
365        message ABOVE - do not alter this line or those below--</samp>. If you
366        need to add any extra message to the log, please do so
367        <strong>above</strong> this line. When you exit the editor, the command
368        will report the commit log before prompting for confirmation that you
369        wish to proceed with deleting the branch (it aborts if not).</li>
370      </ul>
371
372      <p>For further details refer to the section <a href=
373      "code_management.html#svn_branching_delete">Deleting Branches</a>.</p>
374    </dd>
375
376    <dt>Options</dt>
377
378    <dd>
379      <p>The command supports all options of <a href="#fcm-branch-info">fcm
380      branch-info</a> as well as the following:</p>
381
382      <dl>
383        <dt><code>--non-interactive</code></dt>
384
385        <dd>Tells the system not to prompt for anything. (The
386        <code>--svn-non-interactive</code> option is set automatically when you
387        specify <code>--non-interactive</code>.)</dd>
388
389        <dt><code>--password=PASSWORD</code></dt>
390
391        <dd>Specifies the password for authentication.</dd>
392
393        <dt><code>--svn-non-interactive</code></dt>
394
395        <dd>Tells the system to run <code>svn</code> in non-interactive
396        mode.</dd>
397
398        <dt><code>--switch</code>, <code>-s</code></dt>
399
400        <dd>If SOURCE not specified in the argument list,
401        <code><a href="#fcm-switch">fcm switch</a></code> the current working
402        copy to point to the <em>trunk</em> after the branch deletion.</dd>
403      </dl>
404    </dd>
405
406    <dt>Alternate Names</dt>
407
408    <dd>bdelete, bdel, brm</dd>
409  </dl>
410
411  <h2 id="fcm-branch-diff">fcm branch-diff</h2>
412
413  <dl>
414    <dt>Usage</dt>
415
416    <dd><code>fcm branch-diff [OPTIONS] [TARGET]</code></dd>
417
418    <dt>Description</dt>
419
420    <dd>
421      <p>The command displays the differences between the target branch and its
422      parent. This should show you the differences which you would get if you
423      tried to merge the changes in the branch into its parent.</p>
424
425      <p>If an argument <var>TARGET</var> is specified, it must either be a URL
426      or a path to a local working copy. Otherwise, the current working
427      directory must be a working copy. The specified URL or that of the
428      working copy must be a valid branch in a standard FCM project.</p>
429
430      <p>The command determines the base of the branch relative to its parent.
431      This is adjusted to account for any merges from the branch to its parent
432      or vice-versa. It then reports what path and revision it is comparing
433      against using <code>svn diff</code> or otherwise.</p>
434
435      <p>For further details refer to the section <a href=
436      "code_management.html#svn_basic_diff">Examining Changes</a>.</p>
437    </dd>
438
439    <dt>Options</dt>
440
441    <dd>
442      <dl>
443        <dt><code>--diff-cmd=COMMAND</code></dt>
444
445        <dd>Option passed to <code>svn diff</code>.</dd>
446
447        <dt><code>--extensions=EXT</code>, <code>-x EXT</code></dt>
448
449        <dd>Option passed to <code>svn diff</code>.</dd>
450
451        <dt><code>--graphical</code>, <code>-g</code></dt>
452
453        <dd>Tells the <code>svn diff</code> to use a graphical tool to display
454        the differences. (The default graphical diff tool is
455        <code>xxdiff</code>, but you can alter the behaviour by following the
456        instruction discussed in the sub-section on <a href=
457        "code_management.html#svn_basic_diff">Examining Changes</a>.) This
458        switch should not be used with <code>--diff-cmd</code>,
459        <code>--extensions</code>, <code>--trac</code> and
460        <code>--wiki</code>.</dd>
461
462        <dt><code>--summarize</code>, <code>--summarise</code></dt>
463
464        <dd>Reports using <code>svn diff --summarize</code>.</dd>
465       
466   <dt><code>--xml</code></dt>
467
468   <dd>Used with --summarise to change output format to XML.</dd>
469
470        <dt><code>--trac</code>, <code>-t</code></dt>
471
472        <dd>Launches Trac with your default web browser to report the diff.
473        Note: if <var>TARGET</var> is a working copy, local changes in it will
474        not be displayed.</dd>
475
476        <dt><code>--wiki</code>, <code>-w</code></dt>
477
478        <dd>Prints a Trac wiki syntax to represent the diff.</dd>
479      </dl>
480    </dd>
481
482    <dt>Alternate Names</dt>
483
484    <dd>bdiff, bdi</dd>
485  </dl>
486
487  <h2 id="fcm-branch-info">fcm branch-info</h2>
488
489  <dl>
490    <dt>Usage</dt>
491
492    <dd><code>fcm branch-info [OPTIONS] [TARGET]</code></dd>
493
494    <dt>Description</dt>
495
496    <dd>
497      <p>Displays information about a branch.</p>
498
499      <p>If the argument <var>TARGET</var> is specified, it must either be a
500      URL or a path to a local working copy of a valid branch of a standard FCM
501      project. Otherwise, the current working directory must be a working copy
502      of a valid branch of a standard FCM project.</p>
503
504      <p>It performs the following actions:</p>
505
506      <ul>
507        <li>It reports the basic information of the branch URL, as returned by
508        <code>svn info</code>.</li>
509
510        <li>If <code>--verbose</code> is set, it also prints the log message of
511        the last change revision.</li>
512
513        <li>If the URL is not the trunk:
514
515          <ul>
516            <li>It reports the branch creation information, including the
517            revision, author and date. It also reports the parent URL@REV of
518            the branch. If <code>--verbose</code> is set, it prints the log
519            message of the branch creation revision.</li>
520
521            <li>If the branch does not exist at the HEAD, it reports the
522            revision at which it is deleted.</li>
523
524            <li>It reports the last merges into and from the parent branch. If
525            <code>--verbose</code> is set, it also prints the log message of
526            these merges.</li>
527
528            <li>It reports the revisions available for merging into and from
529            the parent branch. If <code>--verbose</code> is set, it also prints
530            the log message of these revisions.</li>
531          </ul>
532        </li>
533
534        <li>It reports relationship with other branches, depending on
535        options.</li>
536      </ul>
537
538      <p>For further details refer to the section <a href=
539      "code_management.html#svn_branching_info">Getting Information About
540      Branches</a>.</p>
541    </dd>
542
543    <dt>Options</dt>
544
545    <dd>
546      <dl>
547        <dt><code>--show-all</code>, <code>-a</code></dt>
548
549        <dd>Turns on <code>--show-children</code>, <code>--show-other</code>
550        and <code>--show-siblings</code>.</dd>
551
552        <dt><code>--show-children</code></dt>
553
554        <dd>Lists the current children of the branch and their create
555        revisions. Where appropriate, it reports the revision of each child,
556        which is last merged from/into the current branch. It also reports the
557        available merges from/into each child into the current branch.</dd>
558
559        <dt><code>--show-other</code></dt>
560
561        <dd>Reports all custom and reverse merges into the current branch.</dd>
562
563        <dt><code>--show-siblings</code></dt>
564
565        <dd>Reports recent merges from/into sibling branches. It also reports
566        the available merges from/into sibling branches where recent merges are
567        detected. If <code>--verbose</code> is set, it also prints the log
568        message of these merges.</dd>
569
570        <dt><code>--verbose</code>, <code>-v</code></dt>
571
572        <dd>Increases the verbosity.</dd>
573      </dl>
574    </dd>
575
576    <dt>Alternate Names</dt>
577
578    <dd>binfo</dd>
579  </dl>
580
581  <h2 id="fcm-branch-list">fcm branch-list</h2>
582
583  <dl>
584    <dt>Usage</dt>
585
586    <dd><code>fcm branch-list [OPTIONS] [TARGET ...]</code></dd>
587
588    <dt>Description</dt>
589
590    <dd>
591      <p>Searches and lists branches in projects. By default, it lists only
592      branches created by the current user.</p>
593
594      <p>If no <var>TARGET</var> is specified, the current working directory is
595      assumed to be the target. Each target must either be a
596      <var>URL[@REV]</var> or a <var>PATH[@REV]</var> to a working copy of a
597      standard FCM project.</p>
598    </dd>
599
600    <dt>Options</dt>
601
602    <dd>
603      <dl>
604        <dt><code>--only=DEPTH:PATTERN</code></dt>
605
606        <dd>Specify a regular expression to match at various depth. E.g. with
607        the normal FCM branch naming convention, <samp>--only=1:dev
608        --only=2:fred</samp> will display only the development branches owned by
609        user ID <samp>fred</samp>. (This option is cumalative, and overrides the
610        <code>--show-all</code> and <code>--user=PATTERN</code> options.)</dd>
611
612        <dt><code>--quiet</code>, <code>-q</code></dt>
613
614        <dd>Decreases verbosity. Only prints branches matching the search
615        criteria.</dd>
616
617        <dt><code>--show-all</code>, <code>-a</code></dt>
618
619        <dd>Prints branches of all users. (This option overrides the
620        <code>--user=USER</code> option.)</dd>
621
622        <dt><code>--url</code></dt>
623
624        <dd>Displays Subversion URL instead of FCM location keywords.</dd>
625
626        <dt><code>--user=PATTERN</code>, <code>-u PATTERN</code></dt>
627
628        <dd>Equivalent to <code>--only=2:^PATTERN$</code> for projects with the
629        normal FCM branch naming convention.  Lists branches created by the
630        specified list of users instead of the current user. With the normal FCM
631        branch naming convention, you can also list shared branches by
632        specifying the user as <code>Share</code>, configuration branches by
633        specifying the user as <code>Config</code> and release branches by
634        specifying the user as <code>Rel</code>. (This option is
635        cumalative.)</dd>
636      </dl>
637    </dd>
638
639    <dt>Alternate Names</dt>
640
641    <dd>blist, bls</dd>
642  </dl>
643
644  <h2 id="fcm-browse">fcm browse</h2>
645
646  <dl>
647    <dt>Usage</dt>
648
649    <dd><code>fcm browse [OPTIONS] [TARGET ...]</code></dd>
650
651    <dt>Description</dt>
652
653    <dd>
654      <p><code>fcm browse</code> invokes the web-browser to launch the
655      corresponding URL of the web-based repository browser (currently Trac
656      browser) to view the Subversion repository specified by
657      <var>TARGET</var>.</p>
658
659      <p>If <var>TARGET</var> is specified, it must be a path to a local
660      working copying, a Subversion URL or an FCM URL keyword. Otherwise, it is
661      set to <samp>.</samp>, the current working directory. If
662      <var>TARGET</var> is a directory in the local file system, the command
663      will determine whether it is a working copy. If so, its associated
664      Subversion URL will be used. The command fails if the directory is not a
665      working copy. The Subversion URL must be associated with an FCM location
666      keyword, so that the system knows how to map the Subversion URL to the
667      web browser URL.</p>
668    </dd>
669
670    <dt>Options</dt>
671
672    <dd>
673      <dl>
674        <dt><code>--browser=COMMAND</code>, <code>-b COMMAND</code></dt>
675
676        <dd>
677          If this option is specified, its argument <var>COMMAND</var> must be
678          a valid command to a web browser. If this option is not specified,
679          the default is to use <code>firefox</code>, or the <var>browser</var>
680          setting in the external configuration files (i.e.
681          <samp>$FCM/etc/fcm/external.cfg</samp> and
682          <samp>$HOME/.metomi/fcm/external.cfg</samp>). For example:
683          <pre>
684browser = konqueror
685</pre>
686        </dd>
687      </dl>
688    </dd>
689
690    <dt>Alternate Names</dt>
691
692    <dd>trac, www</dd>
693  </dl>
694
695  <h2 id="fcm-build">fcm build</h2>
696
697  <dl>
698    <dt>Usage</dt>
699
700    <dd><code>fcm build [OPTIONS...] [CFGFILE]</code></dd>
701
702    <dt>Description</dt>
703
704    <dd>
705      <p><code>fcm build</code> invokes the deprecated FCM 1 build system.</p>
706
707      <p>The path to a valid build configuration file <var>CFGFILE</var> may be
708      provided as either a URL or a pathname. Otherwise, the build system
709      searches the default locations for a build configuration file.</p>
710
711      <p>For further details, please refer to the chapter on <a href=
712      "build.html">The FCM 1 Build System</a>.</p>
713    </dd>
714
715    <dt>Option</dt>
716
717    <dd>
718      <p>If no option is specified, the system uses the <code>-s 5 -t all -j 1
719      -v 1</code> by default.</p>
720
721      <dl>
722        <dt><code>--archive</code>, <code>-a</code></dt>
723
724        <dd>This option can be specified to switch on the archive mode. In
725        archive mode, sub-directories produced by the build will be archived in
726        <code>tar</code> format at the end of a successful build. This option
727        should not be used if the current build is intended to be re-used as a
728        pre-compiled build.</dd>
729
730        <dt><code>--clean</code></dt>
731
732        <dd>If this option is specified, the build system will parse the
733        configuration file, remove contents generated by the build system in
734        the destination and exit.</dd>
735
736        <dt><code>--full</code>, <code>-f</code></dt>
737
738        <dd>If this option is specified, the build system will attempt to
739        perform a full/clean build by removing any previous build files.
740        Otherwise, the build system will attempt to perform an incremental
741        build where appropriate.</dd>
742
743        <dt><code>--ignore-lock</code></dt>
744
745        <dd>When the build system is invoked, it sets a lock file in the build
746        root directory to prevent other extracts/builds taking place in the
747        same location. The lock file is normally removed when the build system
748        exits. (However, a lock file may be left behind if the user interrupts
749        the command, e.g. by typing <kbd>Ctrl-C</kbd>.) You can bypass the
750        check for lock files by using this option.</dd>
751
752        <dt><code>--jobs=N</code>, <code>-j N</code></dt>
753
754        <dd>This option can be used to specify the number of parallel jobs that
755        can be handled by the <code>make</code> command. The argument
756        <var>N</var> must be a natural integer to represent the number of jobs.
757        If not specified, the default is to perform serial <code>make</code>
758        (i.e. 1 job).</dd>
759
760        <dt><code>--stage=STAGE</code>, <code>-s STAGE</code></dt>
761
762        <dd>
763          This option can be used to limit the actions performed by the build
764          system, up to a named stage determined by the argument
765          <var>STAGE</var>. If not specified, the default is 5. The stages are:
766
767          <ul>
768            <li><dfn>1, s or setup</dfn>: Stage 1, read configuration and set
769            up the build</li>
770
771            <li><dfn>2, pp or pre_process</dfn>: Stage 2, perform
772            pre-processing for source files that require pre-processing</li>
773
774            <li><dfn>3, gd or generate_dependency</dfn>: Stage 3, scan source
775            files for dependency information and generate <code>make</code>
776            rules for them</li>
777
778            <li><dfn>4, gi or generate_interface</dfn>: Stage 4, generate
779            interface files for Fortran 9X source files</li>
780
781            <li><dfn>5, m or make</dfn>: Stage 5, invoke the <code>make</code>
782            command to build the project</li>
783          </ul>
784        </dd>
785
786        <dt><code>--targets=TARGETS</code>, <code>-t TARGETS</code></dt>
787
788        <dd>This option can be used to specify the targets to be built. The
789        argument <var>TARGETS</var> must be a colon-separated list of valid
790        targets. If not specified, the default to be built is the
791        <samp>all</samp> target.</dd>
792
793        <dt><code>--verbose=N</code>, <code>-v N</code></dt>
794
795        <dd>This option can be specified to alter the level of diagnostic
796        output. The argument <var>N</var> to this option must be an integer
797        greater than or equal to 0. The verbose level increases with this
798        number. If not specified, the default verbose level is 1.</dd>
799      </dl>
800    </dd>
801
802    <dt>Alternate Names</dt>
803
804    <dd>bld</dd>
805  </dl>
806
807  <h2 id="fcm-cfg-print">fcm cfg-print</h2>
808
809  <dl>
810    <dt>Usage</dt>
811
812    <dd><code>fcm cfg-print [OPTIONS] [TARGET ...]</code></dd>
813
814    <dt>Description</dt>
815
816    <dd>
817      <p>Parses each FCM configuration file specified in the argument list, and
818      prints the result to STDOUT.</p>
819    </dd>
820
821    <dt>Options</dt>
822
823    <dd>
824      <dl>
825        <dt><code>--fcm1</code>, <code>-f</code></dt>
826
827        <dd>If specified, targets should be in FCM 1 format. Otherwise, they
828        should be in FCM 2 format.</dd>
829      </dl>
830    </dd>
831
832    <dt>Alternate Names</dt>
833
834    <dd>cfg</dd>
835  </dl>
836
837  <h2 id="fcm-cmp-ext-cfg">fcm cmp-ext-cfg</h2>
838
839  <dl>
840    <dt>Usage</dt>
841
842    <dd><code>fcm cmp-ext-cfg [OPTIONS] CFG1 CFG2</code></dd>
843
844    <dt>Description</dt>
845
846    <dd>
847      <p><code>fcm cmp-ext-cfg</code> compares the deprecated FCM 1 extract
848      configurations of two similar extract configuration files <var>CFG1</var>
849      and <var>CFG2</var>. It reports repository branches and source
850      directories that are declared in one file but not another. If a source
851      directory is declared in both files, it compares their versions. If they
852      differ, it uses <code>svn log</code> to obtain a list of revision numbers
853      at which changes are made to the source directory. It then reports, for
854      each declared repository branch, the revisions at which changes occur in
855      their declared source directories.</p>
856
857      <p>The list of revisions for each declared repository branch is normally
858      printed out as a simple list in plain text.</p>
859    </dd>
860
861    <dt>Options</dt>
862
863    <dd>
864      <dl>
865        <dt><code>--verbose=N</code>, <code>-v N</code></dt>
866
867        <dd>You can use this option to print the log of each revision, by
868        setting <var>N</var> to 2.</dd>
869
870        <dt><code>--wiki-format=TARGET</code>, <code>--wiki=TARGET</code>,
871        <code>-w TARGET</code></dt>
872
873        <dd>Alternatively, you can use this option to change that into an
874        tabular output suitable for inserting into a Trac wiki page. This
875        option must be specified with an argument, which must be the Subversion
876        URL or FCM URL keyword of an FCM project associated with the intended
877        Trac system. The URL allows the command to work out the correct wiki
878        syntax to use.</dd>
879      </dl>
880    </dd>
881  </dl>
882
883  <h2 id="fcm-commit">fcm commit</h2>
884
885  <dl>
886    <dt>Usage</dt>
887
888    <dd><code>fcm commit [OPTIONS] [PATH]</code></dd>
889
890    <dt>Description</dt>
891
892    <dd>
893      <p><code>fcm commit</code> sends changes from your working copy in the
894      current working directory (or from <var>PATH</var> if it is specified) to
895      the repository.</p>
896
897      <p>This command performs the following actions:</p>
898
899      <ul>
900        <li>It checks that the current working directory (or <var>PATH</var> if
901        it is specified) is a working copy. (If not, it aborts with an
902        error).</li>
903
904        <li>It always commits from the top level of the working copy.</li>
905
906        <li>It checks that there are no files in conflict, missing or out of
907        date (it aborts if there are).</li>
908
909        <li>It checks that any files which have been added have the
910        <var>svn:executable</var> property set correctly (in case a script was
911        added before the execute bit was set correctly).</li>
912
913        <li>It reads in any existing commit message.
914
915          <ul>
916            <li>The commit message is stored in the file
917            <samp>#commit_message#</samp> in the top level of your working
918            copy.</li>
919          </ul>
920        </li>
921
922        <li>It adds the following line to the commit log message: <samp>--Add
923        your commit message ABOVE - do not alter this line or those
924        below--</samp>. This line, and anything below it, is automatically
925        ignored by <code>svn commit</code>. If you need to add any extra
926        message to the log, please do so <strong>above</strong> this line.</li>
927
928        <li>If you have run the <a href="#fcm-merge">merge</a> command before
929        the commit, you will get a standard commit log template below a line
930        that says <samp>--FCM message (will be inserted
931        automatically)--</samp>. Please do not try to alter this message (your
932        changes will be ignored if you do).</li>
933
934        <li>It adds current status information to the commit message showing
935        the list of modifications below a line that says <samp>--Change summary
936        (not part of commit message)--</samp>.</li>
937
938        <li>It starts an editor to allow you to edit the commit message.
939
940          <ul>
941            <li>If defined, the environment variable <var>SVN_EDITOR</var>
942            specifies the editor.</li>
943
944            <li>Otherwise the environment variable <var>VISUAL</var> specifies
945            the editor.</li>
946
947            <li>Otherwise the environment variable <var>EDITOR</var> specifies
948            the editor.</li>
949
950            <li>Otherwise the editor <code>nedit</code> is used.</li>
951          </ul>
952        </li>
953
954        <li>It reports the commit message that will be sent to Subversion and
955        then asks if you want to proceed (it aborts if not).</li>
956
957        <li>It calls <code>svn commit</code> to send the changes to the
958        repository.</li>
959
960        <li>It calls <code>svn update</code> to bring your working copy up to
961        the new revision.</li>
962      </ul>
963
964      <p>For further details refer to the section <a href=
965      "code_management.html#svn_basic_commit">Committing Changes</a>.</p>
966    </dd>
967
968    <dt>Options</dt>
969
970    <dd>
971      <dl>
972        <dt><code>--dry-run</code></dt>
973
974        <dd>Prevents the command from committing any changes. This can be used
975        to allow you to add notes to your commit message whilst you are still
976        preparing your change.</dd>
977
978        <dt><code>--password=PASSWORD</code></dt>
979
980        <dd>Specifies the password for authentication.</dd>
981
982        <dt><code>--svn-non-interactive</code></dt>
983
984        <dd>Tells the system to run <code>svn</code> in non-interactive
985        mode.</dd>
986      </dl>
987    </dd>
988
989    <dt>Alternate Names</dt>
990
991    <dd>ci</dd>
992  </dl>
993
994  <h2 id="fcm-conflicts">fcm conflicts</h2>
995
996  <dl>
997    <dt>Usage</dt>
998
999    <dd><code>fcm conflicts [PATH]</code></dd>
1000
1001    <dt>Description</dt>
1002
1003    <dd>
1004      <p><code>fcm conflicts</code> helps you to resolve any text files in your
1005      working copy which have conflicts by using the graphical merge tool
1006      <code>xxdiff</code>. If <var>PATH</var> is set, it must be a working
1007      copy, and the command will operate in it. If <var>PATH</var> is not set,
1008      the command will operate in your current working directory.</p>
1009
1010      <p>This command performs the following actions:</p>
1011
1012      <ul>
1013        <li>For each text file reported as being in conflict (i.e. marked with
1014        a <samp>C</samp> by <code>svn status</code>) it calls
1015        <code>xxdiff</code>.</li>
1016
1017        <li>If <code>xxdiff</code> reports all conflicts resolved then if asks
1018        if you wish to run <code>svn resolved</code> on that file.</li>
1019      </ul>
1020
1021      <p>For further details refer to the section <a href=
1022      "code_management.html#svn_basic_conflicts">Resolving Conflicts</a>.</p>
1023    </dd>
1024
1025    <dt>Alternate Names</dt>
1026
1027    <dd>cf</dd>
1028  </dl>
1029
1030  <h2 id="fcm-delete">fcm delete</h2>
1031
1032  <dl>
1033    <dt>Usage</dt>
1034
1035    <dd><code>fcm delete --check (-c)</code><br />
1036    <code>fcm delete &lt;any valid <em>svn delete</em> options&gt;</code></dd>
1037
1038    <dt>Description</dt>
1039
1040    <dd>
1041      <p>In the 1st form (i.e. <code>fcm delete --check</code>), the system
1042      checks for any files which are missing (i.e. those marked with a
1043      <samp>!</samp> by <code>svn status</code>) and prompts the user to make a
1044      decision on whether to schedule them for deletion at the next commit
1045      (using <code>svn delete</code>).</p>
1046
1047      <p>In the 2nd form (i.e. without the <code>--check</code> option),
1048      <code>fcm delete</code> simply pass control to <code>svn delete</code>.
1049      (For detail of usage, please refer to the <a href=
1050      "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.delete.html">Subversion
1051      book</a>.)</p>
1052
1053      <p>For further details refer to the section <a href=
1054      "code_management.html#svn_basic_check">Adding and Removing Files</a>.</p>
1055    </dd>
1056  </dl>
1057
1058  <h2 id="fcm-diff">fcm diff</h2>
1059
1060  <dl>
1061    <dt>Usage</dt>
1062
1063    <dd><code>fcm diff [OPTIONS] [TARGET ...]</code></dd>
1064
1065    <dt>Description</dt>
1066
1067    <dd>
1068      <p>Display the differences between two revisions or paths. <code>fcm
1069      diff</code> supports all of the arguments and alternate names supported
1070      by <code>svn diff</code> (refer to the <a href=
1071      "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.diff.html">Subversion
1072      book</a> for details).</p>
1073
1074      <p>For further details refer to the section <a href=
1075      "code_management.html#svn_basic_diff">Examining Changes</a>.</p>
1076    </dd>
1077
1078    <dt>Options</dt>
1079
1080    <dd>
1081      <p><code>fcm diff</code> supports the following options in addition to
1082      the options of <code>svn diff</code> (refer to the <a href=
1083      "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.diff.html">Subversion
1084      book</a> for details):</p>
1085
1086      <dl>
1087        <dt><code>--graphical</code>, <code>-g</code></dt>
1088
1089        <dd>If this option is specified, the command uses a graphical tool to
1090        display the differences. (The default graphical diff tool is
1091        <code>xxdiff</code>, but you can alter the behaviour by following the
1092        instruction discussed in the sub-section on <a href=
1093        "code_management.html#svn_basic_diff">Examining Changes</a>.) This
1094        option can be used in combination with all other valid options except
1095        <code>--diff-cmd</code> and <code>--extensions</code>.</dd>
1096
1097        <dt><code>--summarise</code></dt>
1098
1099        <dd>This option is implemented in FCM as a wrapper to the Subversion
1100        <code>--summarize</code> option. It prints only a summary of the
1101        results.</dd>
1102
1103        <dt><code>--branch</code>, <code>-b</code></dt>
1104
1105        <dd>This usage is deprecated. It is replaced by the <a href=
1106        "#fcm-branch-diff">fcm branch-diff</a> command.</dd>
1107      </dl>
1108    </dd>
1109  </dl>
1110
1111  <h2 id="fcm-export-items">fcm export-items</h2>
1112
1113  <dl>
1114    <dt>Usage</dt>
1115
1116    <dd><code>fcm export-items [OPTIONS...] SOURCE</code></dd>
1117
1118    <dt>Description</dt>
1119
1120    <dd>
1121      <p><code>fcm export-items</code> exports directories in SOURCE as a list
1122      of versioned items. The SOURCE should be the URL of a branch in a
1123      Subversion repository with the standard FCM layout.</p>
1124
1125      <p>This command is used to support a legacy working practice, in which
1126      directories in a source tree are regarded as individual versioned
1127      items.</p>
1128
1129      <p>The configuration file should be in the deprecated FCM 1 configuration
1130      format. The label in each entry should be a path relative to the source
1131      URL. If the path ends in <samp>*</samp> then the path is expanded
1132      recursively and any sub-directories containing regular files are added to
1133      the list of relative paths to export. The value may be empty, or it may
1134      be a list of space separated <em>conditions</em>. Each condition is a
1135      conditional operator (<code>&gt;</code>, <code>&gt;=</code>,
1136      <code>&lt;</code>, <code>&lt;=</code>, <code>==</code> or
1137      <code>!=</code>) followed by a revision number. The command uses the
1138      revision log to determine the revisions at which the relative path has
1139      been updated in the source URL. If these revisions also satisfy the
1140      conditions set by the user, they will be considered in the export.</p>
1141
1142      <p>For further details, please refer to <a href=
1143      "system_admin.html#alternate_versions">System Administration &gt;
1144      Maintaining alternate versions of namelists and data files</a>.</p>
1145    </dd>
1146
1147    <dt>Options</dt>
1148
1149    <dd>
1150      <dl>
1151        <dt><code>--config-file=PATH</code>, <code>--file=PATH</code>, <code>-f
1152        PATH</code></dt>
1153
1154        <dd>Specifies the path to the configuration file.
1155        (default=<samp>$PWD/fcm-export-items.cfg</samp>)</dd>
1156
1157        <dt><code>--directory=PATH</code>, <code>-C PATH</code></dt>
1158
1159        <dd>Specifies the path to the destination.
1160        (default=<samp>$PWD</samp>)</dd>
1161
1162        <dt><code>--new</code>, <code>-N</code></dt>
1163
1164        <dd>Specifies the new mode. In this mode, everything is re-exported.
1165        Otherwise, the system runs in incremental mode, in which the version
1166        directories are only updated if they do not already exist.</dd>
1167      </dl>
1168    </dd>
1169  </dl>
1170
1171  <h2 id="fcm-extract">fcm extract</h2>
1172
1173  <dl>
1174    <dt>Usage</dt>
1175
1176    <dd><code>fcm extract [OPTIONS...] [CFGFILE]</code></dd>
1177
1178    <dt>Description</dt>
1179
1180    <dd>
1181      <p><code>fcm extract</code> invokes the deprecated FCM 1 extract
1182      system.</p>
1183
1184      <p>The path to a valid extract configuration file <var>CFGFILE</var> may
1185      be provided as either a URL or a pathname. Otherwise, the extract system
1186      searches the default locations for an extract configuration file.</p>
1187
1188      <p>For further details, please refer to the chapter on <a href=
1189      "extract.html">The FCM 1 Extract System</a>.</p>
1190    </dd>
1191
1192    <dt>Options</dt>
1193
1194    <dd>
1195      <dl>
1196        <dt><code>--clean</code></dt>
1197
1198        <dd>If this option is specified, the extract system will parse the
1199        configuration file, remove contents generated by previous extract in
1200        the destination and exit.</dd>
1201
1202        <dt><code>--full</code>, <code>-f</code></dt>
1203
1204        <dd>If this option is specified, the extract system will attempt to
1205        perform a full extract by removing any previous extracted files.
1206        Otherwise, the extract system will attempt to perform an incremental
1207        extract where appropriate.</dd>
1208
1209        <dt><code>--ignore-lock</code></dt>
1210
1211        <dd>When the extract system is invoked, it sets a lock file in the
1212        extract destination root directory to prevent other extracts/builds
1213        taking place in the same location. The lock file is normally removed
1214        when the extract system exits. (However, a lock file may be left behind
1215        if the user interrupts the command, e.g. by typing <kbd>Ctrl-C</kbd>.)
1216        You can bypass the check for lock files by using this option.</dd>
1217
1218        <dt><code>--verbose=N</code>, <code>-v N</code></dt>
1219
1220        <dd>This option can be specified to alter the level of diagnostic
1221        output. The argument <var>N</var> to this option must be an integer
1222        greater than or equal to 0. The verbose level increases with this
1223        number. If not specified, the default verbose level is 1.</dd>
1224      </dl>
1225    </dd>
1226
1227    <dt>Alternate Names</dt>
1228
1229    <dd>ext</dd>
1230  </dl>
1231
1232  <h2 id="fcm-gui">fcm gui</h2>
1233
1234  <dl>
1235    <dt>Usage</dt>
1236
1237    <dd><code>fcm gui [DIR]</code></dd>
1238
1239    <dt>Description</dt>
1240
1241    <dd>
1242      <p><code>fcm gui</code> starts up the FCM GUI. If <var>DIR</var> is
1243      specified then this is used as the working directory.</p>
1244
1245      <p>For further details, please refer to the section <a href=
1246      "code_management.html#svn_gui">Using the GUI</a>.</p>
1247    </dd>
1248  </dl>
1249
1250  <h2 id="fcm-keyword-print">fcm keyword-print</h2>
1251
1252  <dl>
1253    <dt>Usage</dt>
1254
1255    <dd><code>fcm keyword-print [OPTIONS] [TARGET ...]</code></dd>
1256
1257    <dt>Description</dt>
1258
1259    <dd>
1260      <p>If no argument is specified, <code>fcm keyword-print</code> prints all
1261      the registered FCM location keywords. Otherwise, it prints the location
1262      and revision keywords according to the argument <var>TARGET</var>, which
1263      must be an FCM URL keyword, a Subversion URL or a path to a Subversion
1264      working copy.</p>
1265    </dd>
1266
1267    <dt>Options</dt>
1268
1269    <dd>
1270      <dl>
1271        <dt><code>--verbose</code>, <code>-v</code></dt>
1272
1273        <dd>Prints implied location keywords as well.</dd>
1274      </dl>
1275    </dd>
1276
1277    <dt>Alternate Names</dt>
1278
1279    <dd>kp</dd>
1280  </dl>
1281
1282  <h2 id="fcm-loc-layout">fcm loc-layout</h2>
1283
1284  <dl>
1285    <dt>Usage</dt>
1286
1287    <dd><code>fcm loc-layout [OPTIONS] [TARGET ...]</code></dd>
1288
1289    <dt>Description</dt>
1290
1291    <dd>
1292      <p>Parse the URL of a FCM/Subversion <var>TARGET</var>, and print its FCM
1293      layout information.</p>
1294
1295      <p>If no argument is specified, <var>TARGET</var> is the current working
1296      directory.</p>
1297
1298      <p>See also <a href="system_admin.html#svn_layout">System Administration
1299      &gt; Subversion &gt; Repository Layout</a>.</p>
1300    </dd>
1301
1302    <dt>Options</dt>
1303
1304    <dd>
1305      <dl>
1306        <dt><code>--verbose</code>, <code>-v</code></dt>
1307
1308        <dd>Increase verbosity.</dd>
1309      </dl>
1310    </dd>
1311  </dl>
1312
1313  <h2 id="fcm-make">fcm make</h2>
1314
1315  <dl>
1316    <dt>Usage</dt>
1317
1318    <dd><code>fcm make [OPTIONS] [DECLARATION ...]</code></dd>
1319
1320    <dt>Description</dt>
1321
1322    <dd>
1323      <p><code>fcm make</code> invokes the FCM make system, which is used to
1324      run the extract and build systems and other utilities.</p>
1325
1326      <p>For further details, please refer to the chapter on <a href=
1327      "make.html">FCM Make</a>.</p>
1328    </dd>
1329
1330    <dt>Arguments</dt>
1331
1332    <dd>
1333      <p>Each argument is considered to be a declaration line to append to the
1334      configuration file.</p>
1335    </dd>
1336
1337    <dt>Options</dt>
1338
1339    <dd>
1340      <dl>
1341        <dt><code>--archive, -a</code></dt>
1342
1343        <dd>Switch on archive mode. In archive mode, intermediate files will be
1344        put into TAR-GZIP archives on completion, e.g. extract system:
1345        <samp>.fcm-make/cache/extract/</samp>, and build system:
1346        <samp>build/include/</samp> and <samp>build/o/</samp>.
1347
1348          <p>The archive mode is not suitable for a make that will be inherited
1349          or used by other makes.</p>
1350        </dd>
1351
1352        <dt><code>--config-file-path=PATH, -F PATH</code></dt>
1353
1354        <dd>Specifies paths for searching configuration files specified in
1355        relative paths.</dd>
1356
1357        <dt><code>--config-file=PATH, --file=PATH, -f PATH</code></dt>
1358
1359        <dd>Specifies paths to the configuration files either as a URL or a
1360        pathname. (default=<samp>fcm-make.cfg</samp> in the current working
1361        directory)</dd>
1362
1363        <dt><code>--directory=PATH, -C PATH</code></dt>
1364
1365        <dd>Change directory to <var>PATH</var> before doing anything.
1366        (default=<var>$PWD</var>)</dd>
1367
1368        <dt><code>--ignore-lock</code></dt>
1369
1370        <dd>Ignores lock file. When the system is invoked, it sets up a lock
1371        file in the destination. The lock is normally removed when the system
1372        completes the make. While the lock file is in place, another make invoked
1373        in the same destination will fail. This option can be used to bypass
1374        this check.</dd>
1375
1376        <dt><code>--jobs=N, -j N</code></dt>
1377
1378        <dd>Specifies the number of (child) processes that can be run
1379        simultaneously.</dd>
1380
1381        <dt><code>--name=NAME</code>, <code>-n NAME</code></dt>
1382
1383        <dd>Specify a name for the make, so that the command will search for
1384        <q>fcm-make<var>NAME</var>.cfg</q> instead of <q>fcm-make.cfg</q>, and
1385        will write context files in <q>.fcm-make<var>NAME</var>/</q> and log
1386        files as <q>fcm-make<var>NAME</var>.log</q>, etc.</dd>
1387
1388        <dt><code>--new</code>, <code>-N</code></dt>
1389
1390        <dd>Removes items in the destination created by the previous make, and
1391        starts a new make.</dd>
1392
1393        <dt><code>--quiet, -q</code></dt>
1394
1395        <dd>Decreases the verbosity level.</dd>
1396
1397        <dt><code>--verbose, -v</code></dt>
1398
1399        <dd>Increases the verbosity level.</dd>
1400      </dl>
1401    </dd>
1402  </dl>
1403
1404  <h2 id="fcm-merge">fcm merge</h2>
1405
1406  <dl>
1407    <dt>Usage</dt>
1408
1409    <dd><code>fcm merge [OPTIONS] SOURCE</code><br />
1410    <code>fcm merge --custom --revision N[:M] [OPTIONS] SOURCE</code><br />
1411    <code>fcm merge --custom [OPTIONS] URL1[@REV1] URL2[@REV2]</code><br />
1412    <code>fcm merge --reverse [--revision [M:]N] [OPTIONS]</code></dd>
1413
1414    <dt>Description</dt>
1415
1416    <dd>
1417      <p><code>fcm merge</code> allows you to merge changes from a source into
1418      your working copy.</p>
1419
1420      <p>Before it begins, the command does the following:</p>
1421
1422      <ul>
1423        <li>If a <var>SOURCE</var> or <var>URL</var> is specified, it can be a
1424        full URL or a partial URL starting at the branches, trunk or tags
1425        level.
1426
1427          <ul>
1428            <li>If a partial URL is given, and the path name does not begin
1429            with <samp>trunk</samp>, <samp>tags</samp> or <samp>branches</samp>
1430            then <samp>branches/</samp> is automatically added to the beginning
1431            of your path.</li>
1432          </ul>
1433        </li>
1434
1435        <li>It determines the <var>TARGET</var> URL by examining your working
1436        copy.</li>
1437
1438        <li>If the current directory is not the top of your working copy, it
1439        changes the current directory to the top of your working copy.</li>
1440
1441        <li>If your working copy is not pointing to a branch of a project
1442        managed by FCM, the command aborts with an error.</li>
1443
1444        <li>If you do not specify the <code>--non-interactive</code> option, it
1445        checks for any local modifications in your working copy. If it finds
1446        any it reports them and asks you to confirm that you wish to continue
1447        (it aborts if not).</li>
1448      </ul>
1449
1450      <dl>
1451        <dt>Automatic mode (i.e. neither <code>--custom</code> nor
1452        <code>--reverse</code> is specified)</dt>
1453
1454        <dd>
1455          <p>Automatic merges are used to merge changes between two directly
1456          related branches, (i.e. the branches must either be created from the
1457          same parent or have a parent/child relationship). These merges are
1458          tracked by FCM and can be used by subsequent FCM commands. The merge
1459          delta is calculated by doing the following:</p>
1460
1461          <ul>
1462            <li>It checks that the <var>SOURCE</var> and <var>TARGET</var> are
1463            directly related.</li>
1464
1465            <li>It determines the base revision and path of the <em>common
1466            ancestor</em> of the <var>SOURCE</var> and <var>TARGET</var>.</li>
1467
1468            <li>The base revision and path are adjusted to account for any
1469            merges from the <var>SOURCE</var> to the <var>TARGET</var> or
1470            vice-versa.</li>
1471
1472            <li>It reports the revisions from <var>SOURCE</var> available for
1473            merging into <var>TARGET</var>. If the <code>--verbose</code>
1474            option is set, it prints the log for these revisions. It aborts if
1475            no revision is available for merging.</li>
1476
1477            <li>If there are 2 or more revisions available for merging and you
1478            do not specify the <code>--non-interactive</code> target, it asks
1479            you which revision of the <var>SOURCE</var> you wish to merge from.
1480            The default is the last changed revision of the <var>SOURCE</var>.
1481            The merge delta is between the base and the specified revision of
1482            the <var>SOURCE</var>.</li>
1483
1484            <li>If your working copy is a sub-tree of the <var>TARGET</var>, it
1485            ensures that the <var>SOURCE</var> contains only changes in the
1486            same sub-tree. Otherwise, the merge is unsafe, and the command will
1487            abort with an error.
1488
1489              <p>N.B.: The command looks for changes in the <var>SOURCE</var>
1490              by going through the list of changed files since the
1491              <var>SOURCE</var> was last merged into the <var>TARGET</var>. (If
1492              there is no previous merge from SOURCE to <var>TARGET</var>, the
1493              common ancestor is used.) It is worth noting that there are
1494              situations when the command will regard your merge as
1495              <em>unsafe</em> (and so will fail incorrectly) even if the
1496              changes in the <var>SOURCE</var> outside of the current sub-tree
1497              will result in a null merge. This can happen if the changes are
1498              the results of a previous merge from the <var>TARGET</var> to the
1499              <var>SOURCE</var> or if these changes have been reversed. In such
1500              case, you will have to perform your merge in a working copy of a
1501              full tree.</p>
1502            </li>
1503          </ul>
1504        </dd>
1505
1506        <dt>Custom mode (i.e. <code>--custom</code> is specified)</dt>
1507
1508        <dd>
1509          <p>The custom mode is useful if you need to merge changes selectively
1510          from another branch. The custom mode can be used in two forms:</p>
1511
1512          <ul>
1513            <li>In the first form, you must specify a <var>SOURCE</var> as well
1514            as a revision (range) using the <code>--revision</code> option. If
1515            you specify a single revision <var>N</var>, the merge delta is
1516            between revision <var>N - 1</var> and revision <var>N</var> of the
1517            SOURCE. Otherwise, the merge delta is between revision <var>N</var>
1518            and revision <var>M</var>, where <var>N</var> &lt;
1519            <var>M</var>.</li>
1520
1521            <li>In the second form, you must specify two URLs. The merge delta
1522            is simply between the two URLs. (For each URL, if you do not
1523            specify a peg revision, the command will peg the URL with its last
1524            changed revision.)</li>
1525          </ul>
1526
1527          <p>N.B. Unlike automatic merges, custom merges are not tracked or
1528          used by subsequent FCM <code>diff</code> or <code>merge</code>
1529          commands, (although <code>branch-info</code> can be set to report
1530          them). Custom merges are always allowed, even if your working copy is
1531          pointing to a sub-tree of a branch. However, there is no checking
1532          mechanism to ensure the safety of your sub-tree custom merge so you
1533          should only do this if you are confident it is what you want.
1534          Therefore, it is recommended that you use automatic merges where
1535          possible, and use custom merges only if you know what you are
1536          doing.</p>
1537        </dd>
1538
1539        <dt>Reverse mode (i.e. <code>--reverse</code> is specified)</dt>
1540
1541        <dd>
1542          <p>The reverse mode is useful if you need to reverse a changeset (or
1543          a range of changesets) in the current source of the working copy. If
1544          a revision is not specified with <code>--revision=M:N</code>, it
1545          attempts to merge the delta <var>COMMITTED:(COMMITTED - 1)</var>. If
1546          a single revision <var>N</var> is specified, the merge delta is
1547          <var>N:(N - 1)</var>.  Otherwise, the merge delta is between revision
1548          <var>M:N</var>, where <var>M</var> &gt; <var>N</var>.</p>
1549
1550          <p>N.B. Like custom merges, reverse merges are not tracked or used by
1551          subsequent FCM <code>diff</code> or <code>merge</code> commands,
1552          (although <code>branch-info</code> can be set to report them).
1553          Likewise, reverse merges in sub-trees are always allowed, although
1554          there is no checking mechanism to ensure the safety of your sub-tree
1555          reverse merge.</p>
1556        </dd>
1557      </dl>
1558
1559      <p>Once the merge delta is determined, the command performs the
1560      following:</p>
1561
1562      <ul>
1563        <li>If you set the <code>--dry-run</code> option or if you are running
1564        in the interactive mode, it reports what changes will result from
1565        performing this merge by calling <code>svn merge --dry-run</code>.
1566
1567          <ul>
1568            <li>It prints the actual <code>svn merge --dry-run</code> command
1569            if the <code>--verbose</code> option is specified.</li>
1570
1571            <li>If you specify the <code>--dry-run</code> option, it exits
1572            after reporting what changes will result from performing the
1573            merge.</li>
1574          </ul>
1575        </li>
1576
1577        <li>If you are running in the interactive mode, it asks if you want to
1578        go ahead with the merge (it aborts if not).</li>
1579
1580        <li>It performs the merge by calling <code>svn merge</code> to apply
1581        the delta between the base and the <var>SOURCE</var> on your working
1582        copy.
1583
1584          <ul>
1585            <li>It prints the actual <code>svn merge</code> command if the
1586            <code>--verbose</code> option is specified.</li>
1587          </ul>
1588        </li>
1589
1590        <li>It adds a standard template into the commit message to provide
1591        details of the merge. The template is written below the line that says
1592        <samp>--FCM message (will be inserted automatically)--</samp>. The
1593        <a href="fcm-commit">fcm commit</a> command will detect the existence
1594        of the template, so that you will not be able to alter it by accident.
1595
1596          <ul>
1597            <li>The commit message is stored in the file
1598            <samp>#commit_message#</samp> in the top level of your working
1599            copy. It is created by the merge command if it does not already
1600            exist.</li>
1601
1602            <li>If the <code>--auto-log</code> option is specified in the
1603            automatic mode, it adds the log messages of the merged revisions as
1604            well as the standard template.</li>
1605          </ul>
1606        </li>
1607      </ul>
1608
1609      <p>For further details refer to the section <a href=
1610      "code_management.html#svn_branching_merge">Merging</a>.</p>
1611    </dd>
1612
1613    <dt>Options</dt>
1614
1615    <dd>
1616      <dl>
1617        <dt><code>--auto-log</code></dt>
1618
1619        <dd>In automatic mode, adds the log messages of the merged revisions in
1620        the commit log. Has no effect in other merge modes.</dd>
1621
1622        <dt><code>--dry-run</code></dt>
1623
1624        <dd>Tries operation but make no changes.</dd>
1625
1626        <dt><code>--non-interactive</code></dt>
1627
1628        <dd>Tells the system not to prompt for anything.</dd>
1629
1630        <dt><code>--revision=REV</code>, <code>-r REV</code></dt>
1631
1632        <dd>Specifies a revision or a revision range.</dd>
1633
1634        <dt><code>--verbose</code>, <code>-v</code></dt>
1635
1636        <dd>Prints extra information.</dd>
1637      </dl>
1638    </dd>
1639  </dl>
1640
1641  <h2 id="fcm-mkpatch">fcm mkpatch</h2>
1642
1643  <dl>
1644    <dt>Usage</dt>
1645
1646    <dd><code>fcm mkpatch [OPTIONS] URL [OUTDIR]</code></dd>
1647
1648    <dt>Description</dt>
1649
1650    <dd>
1651      <p><code>fcm mkpatch</code> creates patches from the specified revisions
1652      of the specified <var>URL</var>, which must be a branch URL of a valid
1653      FCM project. If the <var>URL</var> is a sub-directory of a branch, it
1654      will use the root of the branch.</p>
1655
1656      <p>If <var>OUTDIR</var> is specified, the output is sent to
1657      <var>OUTDIR</var>. Otherwise, the output will be sent to a default
1658      location in the current directory (<samp>$PWD/fcm-mkpatch-out/</samp>).
1659      The output directory will contain the patch for each revision as well as
1660      a script for importing the patch.</p>
1661
1662      <p>Within the output directory are the <em>patches</em> and the log
1663      message file for each revision. It also contains a generated script
1664      <code>fcm-import-patch</code> for importing the patches. The user of the
1665      script can invoke the script with either a URL or a working copy
1666      argument, and the script will attempt to import the patches into the
1667      given URL or working copy.</p>
1668
1669      <p>It is worth noting that changes in Subversion properties, including
1670      changes in executable permissions, are not handled by the import
1671      script.</p>
1672    </dd>
1673
1674    <dt>Options</dt>
1675
1676    <dd>
1677      <dl>
1678        <dt><code>--exclude=PATH</code></dt>
1679
1680        <dd>Excludes a path in the URL. The specified path must be a relative
1681        path of the URL. Glob patterns such as <code>*</code> and
1682        <code>?</code> are acceptable. Changes in an excluded path will not be
1683        considered in the patch. A changeset containing changes only in the
1684        excluded path will not be considered at all. Multiple paths can be
1685        specified by using a colon-separated list of paths, or by specifying
1686        this option multiple times.</dd>
1687
1688        <dt><code>--organisation=NAME</code></dt>
1689
1690        <dd>Specifies the name of your organisation. The command will attempt
1691        to parse the commit log message for each revision in the patch. It will
1692        remove all merge templates, replace Trac links with a modified string,
1693        and add information about the original changeset. If you specify the
1694        name of your organisation, it will replace Trac links such as
1695        <samp>ticket:123</samp> with <samp>$organisation_ticket:123</samp>, and
1696        report the orginal changeset with a message such as
1697        <samp>$organisation_changeset:1000</samp>. If the organisation name is
1698        not specified then it defaults to <samp>original</samp>.</dd>
1699
1700        <dt><code>--revision=REV</code>, <code>-r REV</code></dt>
1701
1702        <dd>Specifies a revision or a revision range, at which the patch
1703        will be based on. If a revision is not specified, it will attempt to
1704        create a patch based on the changes at the HEAD revision. If a revision
1705        range is specified, it will attempt to create a patch for each revision
1706        in that range (including the change in the lower range) where changes
1707        have taken place in the URL. No output will be written if there is no
1708        change in the given revision (range).</dd>
1709      </dl>
1710    </dd>
1711  </dl>
1712
1713  <h2 id="fcm-project-create">fcm project-create</h2>
1714
1715  <dl>
1716    <dt>Usage</dt>
1717
1718    <dd><code>fcm project-create [OPTIONS] PROJECT-NAME REPOS-ROOT-URL</code></dd>
1719
1720    <dt>Description</dt>
1721
1722    <dd>
1723      <p>Create a new project and its trunk directory in a repository.</p>
1724
1725      <p>If you do not specify the <code>--non-interactive</code> option, it
1726      starts an editor (using a similar convention as <a href=
1727      "#fcm-commit">commit</a>) to allow you to add further comment to the
1728      commit log message. A standard commit log template and change summary
1729      is provided for you below the line that says <samp>--Add your commit
1730      message ABOVE - do not alter this line or those below--</samp>. If you
1731      need to add any extra message to the log, please do so
1732      <strong>above</strong> this line. When you exit the editor, the command
1733      will report the commit log before prompting for confirmation that you
1734      wish to proceed (it aborts if not).</p>
1735    </dd>
1736
1737    <dt>Options</dt>
1738    <dd>
1739      <dl>
1740        <dt><code>--non-interactive</code></dt>
1741
1742        <dd>Tells the system not to prompt for anything. (The
1743        <code>--svn-non-interactive</code> option is set automatically when you
1744        specify <code>--non-interactive</code>.)</dd>
1745
1746        <dt><code>--password=PASSWORD</code></dt>
1747
1748        <dd>Specifies the password for authentication.</dd>
1749
1750        <dt><code>--svn-non-interactive</code></dt>
1751
1752        <dd>Tells the system to run <code>svn</code> in non-interactive
1753        mode.</dd>
1754      </dl>
1755    </dd>
1756  </dl>
1757
1758  <h2 id="fcm-switch">fcm switch</h2>
1759
1760  <dl>
1761    <dt>Usage</dt>
1762
1763    <dd><code>fcm switch [OPTIONS] URL[@REV1] [PATH]</code><br />
1764    <code>fcm switch --relocate [OPTIONS] FROM TO [PATH]</code></dd>
1765
1766    <dt>Description</dt>
1767
1768    <dd>
1769      <p><code>fcm switch</code> supports the arguments and alternate names
1770      supported by <code>svn switch</code>. If <code>--relocate</code> is
1771      specified, it supports all options supported by <code>svn switch</code>.
1772      Otherwise, it supports <code>--non-interactive</code>,
1773      <code>--revision=REV</code> (<code>-r REV</code>) and
1774      <code>--quiet</code> (<code>-q</code> only. (Please refer to the <a href=
1775      "http://svnbook.red-bean.com/en/1.8/svn.branchmerge.switchwc.html">Subversion
1776      book</a> for details).</p>
1777
1778      <p>If <code>--relocate</code> is specified, FCM will pass the options and
1779      arguments directly to the corresponding Subversion command. Otherwise,
1780      FCM will ensure that your working copy switches safely through the
1781      following actions:</p>
1782
1783      <ul>
1784        <li>If <var>PATH</var> (or the current working directory if
1785        <var>PATH</var> is not specified) is not at the top of a working copy,
1786        the command will automatically search for the top of the working copy,
1787        and the switch command will always apply recursively from that
1788        level.</li>
1789
1790        <li>You can specify only the <em>branch</em> part of the URL, such as
1791        <samp>trunk</samp>, <samp>branches/dev/fred/r1234_bob</samp> or even
1792        <samp>dev/fred/r1234_bob</samp> and the command will work out the full
1793        URL for you.</li>
1794
1795        <li>If you do not specify the <code>--non-interactive</code> option, it
1796        checks for any local modifications in your working copy. If it finds
1797        any it reports them and asks you to confirm that you wish to continue
1798        (it aborts if not).</li>
1799
1800        <li>If you have some template messages in the
1801        <samp>#commit_message#</samp> file in the top level of your working
1802        copy, (e.g. after you have performed a merge), the command will report
1803        an error. You should remove the template message manually from the
1804        <samp>#commit_message#</samp> file before re-running
1805        <code>switch</code>.</li>
1806
1807        <li>The command will analyse the current working copy URL and the
1808        specified URL to ensure that they are in the same project. If your
1809        working copy is a sub-tree of a project, the command will assume that
1810        you want the same sub-tree in the new URL.</li>
1811      </ul>
1812
1813      <p>For further details refer to the section <a href=
1814      "code_management.html#svn_branching_switch">Switching your working copy
1815      to point to another branch</a>.</p>
1816    </dd>
1817  </dl>
1818
1819  <h2 id="fcm-test-battery">fcm test-battery</h2>
1820
1821  <dl>
1822    <dt>Usage</dt>
1823
1824    <dd><code>fcm test-battery [...]</code></dd>
1825
1826    <dt>Description</dt>
1827
1828    <dd>
1829      <p>Run FCM self tests.</p>
1830
1831      <p>Change directory to the FCM source tree, and runs this shell
1832      commmand:</p>
1833
1834      <pre>
1835exec prove -j "${NPROC:-9}" -s -r "${@:-t}"
1836</pre>
1837
1838      <p>where <var>NPROC</var> is the number of processors on your computer.
1839      You can override the <a
1840      href="http://perldoc.perl.org/prove.html">prove</a> command line by
1841      specifying extra arguments. E.g. If you do not want to run the full test
1842      suite, you can specify the names of individual test files or their
1843      containing directories as extra arguments. For example:</p>
1844
1845      <p>Run the full test suite with the default options.</p>
1846
1847      <pre>
1848fcm test-battery
1849</pre>
1850
1851      <p>Run the full test suite with 12 processes.</p>
1852
1853      <pre>
1854fcm test-battery -j 12
1855</pre>
1856
1857      <p>Run only tests under <code>t/fcm-make/</code> with 12 processes.</p>
1858
1859      <pre>
1860fcm test-battery -j 12 t/fcm-make
1861</pre>
1862
1863      <p>Run only <code>t/fcm-make/10-log.t</code> in verbose mode.</p>
1864
1865      <pre>
1866fcm test-battery -v t/fcm-make/10-log.t
1867</pre>
1868    </dd>
1869
1870    <dt>Environment Variables</dt>
1871
1872    <dd>
1873      <dt>TEST_PROJECT</dt>
1874
1875      <dd>If this is set, run CM tests using a project sub-hierarchy in the test
1876      repositories.</dd>
1877
1878      <dt>TEST_REMOTE_HOST</dt>
1879
1880      <dd>If this is set, run CM tests using an auto-generated Subversion server
1881      on the host specified.</dd>
1882    </dd>
1883  </dl>
1884
1885  <h2 id="fcm-update">fcm update</h2>
1886
1887  <dl>
1888    <dt>Usage</dt>
1889
1890    <dd><code>fcm update [OPTIONS] [PATH ...]</code></dd>
1891
1892    <dt>Description</dt>
1893
1894    <dd>
1895      <p><code>fcm update</code> supports the arguments and alternate names
1896      supported by <code>svn update</code>. It supports the options
1897      <code>--non-interactive</code>, <code>--revision=REV</code> (<code>-r
1898      REV</code>) and <code>--quiet</code> (<code>-q</code>) only. (Please
1899      refer to the <a href=
1900      "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.update.html">Subversion
1901      book</a> for details).</p>
1902
1903      <p>FCM will ensure that your working copies updates safely through the
1904      following actions:</p>
1905
1906      <ul>
1907        <li>If <var>PATH</var> (or the current working directory if
1908        <var>PATH</var> is not specified) is not at the top of a working copy,
1909        the command will automatically search for the top of the working copy,
1910        and the update command will always apply recursively from that
1911        level.</li>
1912
1913        <li>If you do not specify the <code>--non-interactive</code> option, it
1914        uses <code>svn status --show-updates</code> to display what will be
1915        updated in your working copies and to check for local modifications (if
1916        you specify <code>--revision=REV</code> (<code>-r REV</code> then it
1917        just uses <code>svn status</code>). If it finds any it reports them and
1918        asks you to confirm that you wish to continue (it aborts if not).</li>
1919      </ul>
1920    </dd>
1921  </dl>
1922
1923  <h2 id="fcm-version">fcm version</h2>
1924
1925  <dl>
1926    <dt>Usage</dt>
1927
1928    <dd><code>fcm version</code></dd>
1929
1930    <dt>Description</dt>
1931
1932    <dd>
1933      <p>Print FCM version string.</p>
1934    </dd>
1935
1936    <dt>Alternate Names</dt>
1937
1938    <dd>--version, -V</dd>
1939  </dl>
1940
1941  <h2 id="svn">Other Subversion Commands</h2>
1942
1943  <p>Other <code>svn</code> commands are supported by <code>fcm</code> with the
1944  following minor enhancements:</p>
1945
1946  <ul>
1947    <li>Where appropriate, FCM performs repository and revision keywords
1948    expansion.</li>
1949
1950    <li>The <code>fcm checkout</code> command fails if you attempt to checkout
1951    into an existing working copy.</li>
1952  </ul>
1953
1954  <p>The following is a list of the commands:</p>
1955
1956  <ul>
1957    <li><a href=
1958    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.blame.html">svn
1959    blame</a></li>
1960
1961    <li><a href="http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.cat.html">svn
1962    cat</a></li>
1963
1964    <li><a href=
1965    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.checkout.html">svn
1966    checkout</a></li>
1967
1968    <li><a href=
1969    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.cleanup.html">svn
1970    cleanup</a></li>
1971
1972    <li><a href=
1973    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.copy.html">svn
1974    copy</a></li>
1975
1976    <li><a href=
1977    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.export.html">svn
1978    export</a></li>
1979
1980    <li><a href=
1981    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.import.html">svn
1982    import</a></li>
1983
1984    <li><a href=
1985    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.info.html">svn
1986    info</a></li>
1987
1988    <li><a href=
1989    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.list.html">svn
1990    list</a></li>
1991
1992    <li><a href=
1993    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.lock.html">svn
1994    lock</a></li>
1995
1996    <li><a href="http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.log.html">svn
1997    log</a></li>
1998
1999    <li><a href=
2000    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.mergeinfo.html">svn
2001    mergeinfo</a></li>
2002
2003    <li><a href=
2004    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.mkdir.html">svn
2005    mkdir</a></li>
2006
2007    <li><a href=
2008    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.move.html">svn
2009    move</a></li>
2010
2011    <li><a href=
2012    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.patch.html">svn
2013    patch</a></li>
2014
2015    <li><a href=
2016    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.propdel.html">svn
2017    propdel</a></li>
2018
2019    <li><a href=
2020    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.propedit.html">svn
2021    propedit</a></li>
2022
2023    <li><a href=
2024    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.propget.html">svn
2025    propget</a></li>
2026
2027    <li><a href=
2028    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.proplist.html">svn
2029    proplist</a></li>
2030
2031    <li><a href=
2032    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.propset.html">svn
2033    propset</a></li>
2034
2035    <li><a href=
2036    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.relocate.html">svn
2037    relocate</a></li>
2038
2039    <li><a href=
2040    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.resolve.html">svn
2041    resolve</a></li>
2042
2043    <li><a href=
2044    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.resolved.html">svn
2045    resolved</a></li>
2046
2047    <li><a href=
2048    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.revert.html">svn
2049    revert</a></li>
2050
2051    <li><a href=
2052    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.status.html">svn
2053    status</a></li>
2054
2055    <li><a href=
2056    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.unlock.html">svn
2057    unlock</a></li>
2058
2059    <li><a href=
2060    "http://svnbook.red-bean.com/en/1.8/svn.ref.svn.c.upgrade.html">svn
2061    upgrade</a></li>
2062  </ul>
2063
2064  <p>Please refer to the <a href=
2065  "http://svnbook.red-bean.com/en/1.8/svn.ref.html">Subversion Complete
2066  Reference</a> in the Subversion book for details of these commands.</p>
2067
2068  </div>
2069  </div>
2070  </div>
2071
2072  <hr/>
2073  <div class="container-fluid text-center">
2074    <div class="row"><div class="col-md-12">
2075    <address><small>
2076      &copy; British Crown Copyright 2006-16
2077      <a href="http://www.metoffice.gov.uk">Met Office</a>.
2078      See <a href="../etc/fcm-terms-of-use.html">Terms of Use</a>.<br />
2079      This document is released under the British <a href=
2080      "http://www.nationalarchives.gov.uk/doc/open-government-licence/" rel=
2081      "license">Open Government Licence</a>.<br />
2082    </small></address>
2083    </div></div>
2084  </div>
2085
2086  <script type="text/javascript" src="../etc/jquery.min.js"></script>
2087  <script type="text/javascript" src="../etc/bootstrap/js/bootstrap.min.js"></script>
2088  <script type="text/javascript" src="../etc/fcm.js"></script>
2089  <script type="text/javascript" src="../etc/fcm-version.js"></script>
2090</body>
2091</html>
Note: See TracBrowser for help on using the repository browser.