source: LMDZ5/branches/IPSLCM6.0.11/tools/fcm/doc/user_guide/command_ref.html

Last change on this file was 1578, checked in by jghattas, 13 years ago
  • Add fcm in LMDZ5/tools directory

It is no longer needed to have fcm in your environement PATH variable.
Now makelmdz_fcm takes by default this fcm. It is still possible to use
another fcm, using -fcm_path argument in makelmdz_fcm.

File size: 51.4 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
3<html>
4<head>
5  <title>FCM System User Guide: FCM Command Reference</title>
6  <meta name="author" content="FCM development team">
7  <meta name="descriptions" content="User Guide - FCM Command Reference">
8  <meta name="keywords" content="FCM, user guide, command reference">
9  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
10  <link rel="stylesheet" type="text/css" href="style.css">
11</head>
12
13<body>
14  <address>
15    <a href="index.html">FCM System User Guide</a> &gt; FCM Command Reference
16  </address>
17
18  <h1>FCM Command Reference</h1>
19
20  <h2><a name="fcm_config">fcm Configuration File</a></h2>
21
22  <p>The FCM system uses simple line based text files to store configuration
23  settings. All configuration files used by FCM are based on the same
24  principles:</p>
25
26  <ul>
27    <li>All configurations are stored in plain text files.</li>
28
29    <li>A line in a file may contain a configuration setting or a comment.</li>
30
31    <li>Blank lines are ignored.</li>
32
33    <li>A line that begins with a <tt>#</tt> is a <em>comment</em> line.</li>
34
35    <li>Each configuration line has a <em>label</em>, a <em>value</em> and
36    optionally a trailing <em>comment</em>. For example:
37      <pre>
38my::label  this is the value  # some comment
39</pre>
40    </li>
41
42    <li>A <em>label</em> in a configuration line may contain any non-space
43    character. A space character marks the end of the <em>label</em>.</li>
44
45    <li>Words or fields in the <em>label</em> are normally delimited by the
46    double colon (<tt>::</tt>).</li>
47
48    <li>The first non-space character after the <em>label</em> is the beginning
49    of the <em>value</em>. The <em>value</em> may contain space characters. The
50    newline character or the character sequence <tt>" # "</tt> marks the end of
51    the <em>value</em>.</li>
52
53    <li>The first non-space character after the character sequence <tt>" #
54    "</tt> at the end of the <em>value</em> is the <em>comment</em>. The
55    <em>comment</em> is normally ignored by the parser of the configuration
56    file.</li>
57
58    <li>If the last character of the <em>value</em> is a backslash "\", the
59    next non-comment line will be the continuation of the current line. Please
60    note that trailing spaces before the continuation mark are preserved, and
61    leading spaces are removed from the beginning of a continuation. If you
62    want to have leading spaces in a continued line, start the line with a
63    backslash "\" before the leading spaces. It is also worth bearing in mind
64    that the backslash "\" character is only significant if it appears at the
65    end of a value or the beginning of a continuation line. It is not a special
66    character if it appears elsewhere. For example:
67      <pre>
68foo bar\
69    egg\
70    ham
71# will become:
72foo bareggham
73
74foo bar \
75    egg \
76    ham
77# will become:
78foo bar egg ham
79
80foo bar\
81    \ egg\
82    \ ham
83# will become:
84foo bar egg ham
85
86foo bar\
87    \ egg\ham
88# will become:
89foo bar egg\ham
90</pre>
91    </li>
92  </ul>
93
94  <p>The FCM central and user configuration files can be used to add or modify
95  some of the default settings of FCM. When the <em>fcm</em> command is
96  invoked, it normally attempts to search for a central configuration file at
97  <tt>$BINDIR/../etc/fcm.cfg</tt> and then <tt>$BINDIR/fcm.cfg</tt>, where
98  <tt>$BINDIR</tt> is the container directory of the <em>fcm</em> command. If a
99  central configuration file can be located, the settings in the file will
100  replace the pre-defined ones. After searching/reading the central
101  configuration file, the system will attempt to search for a user
102  configuration file located at <tt>$HOME/.fcm</tt> of the current user. If
103  such a file can be found, its settings will replace the pre-defined ones as
104  well as those defined in the central configuration file.</p>
105
106  <p>For information on the valid entries in the central and user configuration
107  files, please refer to the <a href="annex_fcm_cfg.html">Annex: Declarations
108  in FCM central/user configuration file</a>.</p>
109
110  <h2><a name="fcm_bld">fcm build</a></h2>
111
112  <h4>Usage</h4>
113
114  <p>fcm build [OPTIONS...] [CFGFILE]</p>
115
116  <h4>Description</h4>
117
118  <p><tt>fcm build</tt> invokes the FCM build system.</p>
119
120  <p>The path to a valid build configuration file <tt>CFGFILE</tt> may be
121  provided as either a URL or a pathname. Otherwise, the build system
122  searches the default locations for a build configuration file.</p>
123
124  <p>If no option is specified, the system uses the "<tt>-s 5 -t all -j 1 -v
125  1</tt>" by default.</p>
126
127  <ul>
128    <li>The "<tt>-a [--archive]</tt>" option can be specified to switch on the
129    archive mode. In archive mode, sub-directories produced by the build will
130    be archived in <em>tar</em> format at the end of a successful build. This
131    option should not be used if the current build is intended to be re-used as
132    a pre-compiled build.</li>
133
134    <li>If the "<tt>-f [--full]</tt>" option is specified, the build system
135    will attempt to perform a full/clean build by removing any previous build
136    files. Otherwise, the build system will attempt to perform an incremental
137    build where appropriate.</li>
138
139    <li>When the build system is invoked, it sets a lock file in the build root
140    directory to prevent other extracts/builds taking place in the same
141    location. The lock file is normally removed when the build system exits.
142    (However, a lock file may be left behind if the user interrupts the command,
143    e.g. by typing <tt>Ctrl-C</tt>.) You can bypass the check for lock files by
144    using the "<tt>--ignore-lock</tt>" option.</li>
145
146    <li>The "<tt>-j [--jobs] arg</tt>" option can be used to specify the number
147    of parallel jobs that can be handled by the <em>make</em> command. The
148    argument <tt>arg</tt> must be a natural integer to represent the number of
149    jobs. If not specified, the default is to perform serial <em>make</em>
150    (i.e. 1 job).</li>
151
152    <li>The "<tt>-s [--stage] arg</tt>" option can be used to limit the actions
153    performed by the build system, up to a named stage determined by the
154    argument <tt>arg</tt>. If not specified, the default is 5. The stages are:
155
156      <ul>
157        <li>"1", "s" or "setup": stage 1, read configuration and set up the
158        build</li>
159
160        <li>"2", "pp" or "pre_process": stage 2, perform pre-processing for
161        source files that require pre-processing</li>
162
163        <li>"3", "gd" or "generate_dependency": stage 3, scan source files for
164        dependency information and generate <em>make</em> rules for them</li>
165
166        <li>"4", "gi" or "generate_interface": stage 4, generate interface
167        files for Fortran 9X source files</li>
168
169        <li>"5", "m", "make": stage 5, invoke the <em>make</em> command to
170        build the project</li>
171      </ul>
172    </li>
173
174    <li>The "<tt>-t [--targets] arg</tt>" can be used to specify the targets to
175    be built. The argument <tt>arg</tt> must be a colon-separated list of valid
176    targets. If not specified, the default target to be built is the "all"
177    target.</li>
178
179    <li>The "<tt>-v [--verbose] arg</tt>" option can be specified to alter the
180    level of diagnostic output. The argument <tt>arg</tt> to this option must
181    be an integer greater than or equal to 0. The verbose level increases with
182    this number. If not specified, the default verbose level is 1.</li>
183  </ul>
184
185  <p>For further details, please refer to the chapter on <a href=
186  "build.html">The Build System</a>.</p>
187
188  <h4>Alternate Names</h4>
189
190  <p>bld</p>
191
192  <h2><a name="fcm_ext">fcm extract</a></h2>
193
194  <h4>Usage</h4>
195
196  <p>fcm extract [OPTIONS...] [CFGFILE]</p>
197
198  <h4>Description</h4>
199
200  <p><tt>fcm extract</tt> invokes the FCM extract system.</p>
201
202  <p>The path to a valid extract configuration file <tt>CFGFILE</tt> may be
203  provided as either a URL or a pathname. Otherwise, the extract system
204  searches the default locations for an extract configuration file.</p>
205
206  <ul>
207    <li>If the "<tt>-f [--full]</tt>" option is specified, the extract system
208    will attempt to perform a full/clean extraction by removing any previous
209    extracted files. Otherwise, the extract system will attempt to perform an
210    incremental extraction where appropriate.</li>
211
212    <li>When the extract system is invoked, it sets a lock file in the extract
213    destination root directory to prevent other extracts/builds taking place in
214    the same location. The lock file is normally removed when the extract system
215    exits.  (However, a lock file may be left behind if the user interrupts the
216    command, e.g. by typing <tt>Ctrl-C</tt>.) You can bypass the check for lock
217    files by using the "<tt>--ignore-lock</tt>" option.</li>
218
219    <li>The "<tt>-v [--verbose] arg</tt>" option can be specified to alter the
220    level of diagnostic output. The argument <tt>arg</tt> to this option must
221    be an integer greater than or equal to 0. The verbose level increases with
222    this number. If not specified, the default verbose level is 1.</li>
223  </ul>
224
225  <p>For further details, please refer to the chapter on <a href=
226  "extract.html">The Extract System</a>.</p>
227
228  <h4>Alternate Names</h4>
229
230  <p>ext</p>
231
232  <h2><a name="fcm_cmp-ext-cfg">fcm cmp-ext-cfg</a></h2>
233
234  <h4>Usage</h4>
235
236  <p>fcm cmp-ext-cfg [--verbose (-v)] [--wiki (-w) arg] CFG1 CFG2</p>
237
238  <h4>Description</h4>
239
240  <p><tt>fcm cmp-ext-cfg</tt> compares the extract configurations of two similar
241  extract configuration files CFG1 and CFG2. It reports repository branches and
242  source directories that are declared in one file but not another. If a source
243  directory is declared in both files, it compares their versions. If they
244  differ, it uses <tt>svn log</tt> to obtain a list of revision numbers at which
245  changes are made to the source directory. It then reports, for each declared
246  repository branch, the revisions at which changes occur in their declared
247  source directories.</p>
248
249  <p>The list of revisions for each declared repository branch is normally
250  printed out as a simple list in plain text.</p>
251 
252  <ul>
253    <li>You can use the <tt>--verbose</tt> option to print also the log of each
254    revision.</li>
255
256    <li>Alternatively, you can use the <tt>--wiki</tt> option to change that
257    into an tabular output suitable for inserting into a Trac wiki page. The
258    <tt>--wiki</tt> option must be specified with an argument, which must be the
259    Subversion URL or FCM URL keyword of a FCM project associated with the
260    intended Trac system. The URL allows the command to work out the correct
261    wiki syntax to use.</li>
262  </ul>
263
264  <h2><a name="fcm_gui">fcm gui</a></h2>
265
266  <h4>Usage</h4>
267
268  <p>fcm gui [DIR]</p>
269
270  <h4>Description</h4>
271
272  <p><tt>fcm gui</tt> starts up the FCM GUI. If DIR is specified then this is
273  used as the working directory.</p>
274
275  <p>For further details, please refer to the section <a href=
276  "code_management.html#svn_gui">Using the GUI</a>.</p>
277
278  <h2><a name="fcm_svn">fcm Subversion Subcommands</a></h2>
279
280  <p>This section describes all of the Subversion related commands supported by
281  <tt>fcm</tt>.</p>
282
283  <ul>
284    <li>In some cases <tt>fcm</tt> simply passes the command directly on to
285    <tt>svn</tt> (after expanding any URL keywords). These commands are
286    listed in the <a href="#fcm_svn_other">Other Subversion Commands</a>
287    section.</li>
288
289    <li>Where <tt>fcm</tt> adds functionality these commands are discussed
290    individually.</li>
291
292    <li>In all cases, all the command abbreviations supported by <tt>svn</tt>
293    work with <tt>fcm</tt>.</li>
294  </ul>
295
296  <h3><a name="fcm_svn_add">fcm add</a></h3>
297
298  <h4>Usage</h4>
299
300  <p>fcm add --check (-c)</p>
301 
302  <p>fcm add &lt;any valid <em>svn add</em> options&gt;</p>
303
304  <h4>Description</h4>
305
306  <p><tt>fcm add</tt> supports all of the switches and arguments supported by
307  <tt>svn add</tt> (refer to the <a href=
308  "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.add.html">Subversion
309  book</a> for details).</p>
310
311  <p>In addition, <tt>fcm add</tt> supports a <tt>--check</tt> switch (no
312  other switches or arguments). When this is specified then <tt>fcm</tt>
313  checks for any files which are not currently under version control (i.e. those
314  marked with a "?" by <tt>svn status</tt>) and prompts to see if you wish to
315  schedule them for addition at the next commit (using <tt>svn add</tt>).</p>
316
317  <p>For further details refer to the section <a href=
318  "code_management.html#svn_basic_check">Adding and Removing
319  Files</a>.</p>
320
321  <h3><a name="fcm_svn_br">fcm branch</a></h3>
322
323  <h4>Usage</h4>
324
325  <p>fcm branch [--info (-i)] [--verbose (-v)] [--show-children]
326  [--show-siblings] [--show-other] [--show-all (-a)] [TARGET]</p>
327
328  <p>fcm branch --delete (-d) [--verbose (-v)] [--show-children]
329  [--show-siblings] [--show-other] [--show-all (-a)] [--svn-non-interactive]
330  [--non-interactive] [--password arg] [TARGET]</p>
331
332  <p>fcm branch --create (-c) --name (-n) arg [--type (-t) arg] [--rev-flag arg]
333  [--ticket (-k) arg] [--branch-of-branch] [--svn-non-interactive]
334  [--non-interactive] [--password arg] [--revision arg] [TARGET]</p>
335
336  <p>fcm branch --list (-l) [--user (-u) arg] [--verbose (-v)] [--revision arg]
337  [TARGET]</p>
338
339  <h4>Description</h4>
340
341  <p>If TARGET is specified, it must either be a URL or a path to a local
342  working copy. Otherwise, the current working directory must be a working copy.
343  For <tt>--info</tt> and <tt>--delete</tt>, the specified URL or that of the
344  working copy must be a valid branch (including the trunk) in a standard FCM
345  project. For <tt>--create</tt> and <tt>--list</tt>, it must be a valid URL of
346  a standard FCM project.</p>
347
348  <p><tt>fcm branch --info</tt> displays information about a branch.</p>
349
350  <ul>
351    <li>This is the default if no options are specified (e.g. if you just
352    issue the command <tt>fcm br</tt>).</li>
353
354    <li>This command performs the following actions:
355
356      <ul>
357        <li>It reports the basic information of the branch URL, as returned
358        by "svn info".</li>
359
360        <li>If <tt>--verbose</tt> is set, it also prints the log message of
361        the last change revision.</li>
362
363        <li>If the URL is not the trunk:
364       
365          <ul>
366            <li>It reports the branch creation information, including the
367            revision, author and date. It also reports the parent URL@REV of the
368            branch.  If <tt>--verbose</tt> is set, it prints the log message of
369            the branch creation revision.</li>
370
371            <li>If the branch does not exist at the HEAD, it reports the
372            revision at which it is deleted.</li>
373
374            <li>It reports the last merges into and from the parent branch. If
375            <tt>--verbose</tt> is set, it also prints the log message of
376            these merges.</li>
377
378            <li>It reports the revisions available for merging into and from the
379            parent branch. If <tt>--verbose</tt> is set, it also prints the log
380            message of these revisions.</li>
381          </ul>
382        </li>
383
384        <li>If <tt>--show-children</tt> is specified, it lists the current
385        children of the branch and their create revisions. Where appropriate, it
386        reports the revision of each child, which is last merged from/into the
387        current branch. It also reports the available merges from/into each
388        child into the current branch.</li>
389
390        <li>If <tt>--show-siblings</tt> is specified, it reports recent merges
391        from/into sibling branches. It also reports the available merges
392        from/into sibling branches where recent merges are detected. If
393        <tt>--verbose</tt> is set, it also prints the log message of these
394        merges.</li>
395
396        <li>If <tt>--show-other</tt> is specified, it reports all custom and
397        reverse merges into the current branch.</li>
398
399        <li>You can turn on <tt>--show-children</tt>, <tt>--show-siblings</tt>
400        and <tt>--show-other</tt> simultaneously by specifying
401        <tt>--show-all</tt>.</li>
402      </ul>
403    </li>
404
405    <li>For further details refer to the section <a href=
406    "code_management.html#svn_branching_info">Getting Information About
407    Branches</a>.</li>
408  </ul>
409
410  <p><tt>fcm branch --delete</tt> deletes a branch.</p>
411
412  <ul>
413    <li>This command performs the following actions:
414
415      <ul>
416        <li>Firstly, it provides exactly the same output as <tt>fcm branch
417        --info</tt>.</li>
418
419        <li>If you do not specify the <tt>--non-interactive</tt> option, it starts an
420        editor (using a similar convention as <a href= "#fcm_svn_ci">commit</a>)
421        to allow you to add further comment to the commit log message. A
422        standard commit log template is provided for you below the line that
423        says "--This line will be ignored and those below will be inserted
424        automatically--". If you need to add any extra message to the log,
425        please do so <strong>above</strong> this line. When you exit the editor,
426        the command will report the commit log before prompting for confirmation
427        that you wish to proceed with deleting the branch (it aborts if
428        not).</li>
429      </ul>
430    </li>
431
432    <li>If you specify the <tt>--non-interactive</tt> option, the command will not prompt
433    you for anything. (The <tt>--svn-non-interactive</tt> option is set automatically
434    when you specify <tt>--non-interactive</tt>.)</li>
435
436    <li>Subversion may prompt you for authentication if it is the first time
437    you access the repository. The command fails if the authentication
438    fails. If you specify the <tt>--svn-non-interactive</tt> option, Subversion will not
439    prompt you for authentication. In such case, the command will simply
440    fail if authentication is required. You can use the <tt>--password</tt> option to
441    specify a password. Please note that the <tt>--svn-non-interactive</tt> option is
442    always specified if you are running <tt>branch --delete</tt> from the FCM GUI.
443    If authentication is required, you should specify your password using
444    the <tt>--password</tt> option in "Other options".</li>
445
446    <li>For further details refer to the section <a href=
447    "code_management.html#svn_branching_delete">Deleting Branches</a>.</li>
448  </ul>
449
450  <p><tt>fcm branch --create</tt> creates a new branch.</p>
451
452  <ul>
453    <li>You have to choose a name for your branch. This must be specified
454    as the argument of the <tt>--name (-n)</tt> option. The name of the branch must
455    contain only word characters, i.e. [A-Za-z0-9_].</li>
456
457    <li>You can specify the type of branch you are creating using the
458    <tt>--type (-t)</tt> option. The argument to the option must be one of the
459    following:
460
461      <ul>
462        <li>DEV::USER - a development branch for the current user (e.g.
463        branches/dev/&lt;user_id&gt;/&lt;branch_name&gt;)</li>
464
465        <li>DEV::SHARE - a shared development branch (e.g.
466        branches/dev/Share/&lt;branch_name&gt;)</li>
467
468        <li>DEV - same as DEV::USER</li>
469
470        <li>TEST::USER - a test branch for the current user (e.g.
471        branches/test/&lt;user_id&gt;/&lt;branch_name&gt;)</li>
472
473        <li>TEST::SHARE - a shared test branch (e.g.
474        branches/test/Share/&lt;branch_name&gt;)</li>
475
476        <li>TEST - same as TEST::USER</li>
477
478        <li>PKG::USER - a package branch for the current user (e.g.
479        branches/pkg/&lt;user_id&gt;/&lt;branch_name&gt;)</li>
480
481        <li>PKG::SHARE - a shared package branch (e.g.
482        branches/pkg/Share/&lt;branch_name&gt;)</li>
483
484        <li>PKG::CONFIG - a configuration branch (e.g.
485        branches/pkg/Config/&lt;branch_name&gt;)</li>
486
487        <li>PKG::REL - a release branch (e.g.
488        branches/pkg/Rel/&lt;branch_name&gt;)</li>
489
490        <li>PKG - same as PKG::USER</li>
491
492        <li>CONFIG - same as PKG::CONFIG</li>
493
494        <li>REL - same as PKG::REL</li>
495
496        <li>SHARE - same as DEV::SHARE</li>
497
498        <li>USER - same as DEV::USER</li>
499      </ul>
500
501      <p>If the <tt>--type</tt> option is not specified, it defaults to
502      DEV::USER.</p>
503    </li>
504
505    <li>Your branch name will normally be prefixed by the revision number
506    from which it is branched. (E.g. if the branch name is "my_branch" and
507    you are branching from revision 123 of the trunk, the final name will
508    be "r123_my_branch".) If this revision number is associated with a
509    revision keyword, the keyword will be used in place of the revision
510    number. (E.g. if revision 123 is associated with the keyword vn6.1,
511    "r123_my_branch" will become "vn6.1_my_branch".) You can alter this
512    behaviour using the argument to the <tt>--rev-flag</tt> option. If NORMAL is
513    specified, it uses the default behaviour. If NUMBER is specified, it
514    will always use the revision number as the prefix, regardless of
515    whether the revision number is defined as a keyword or not. If NONE is
516    specified, it will not add a prefix to your branch name.</li>
517
518    <li>The command will normally create your branch from the last changed
519    revision of the trunk of the specified project.
520     
521      <ul>
522        <li>You can use the <tt>--revision</tt> option to specify an earlier revision of
523        the source.</li>
524
525        <li>If the source URL is a valid URL of a branch in a standard FCM
526        project, you can use the <tt>--branch-of-branch</tt> option to create
527        a branch of the source branch.</li>
528      </ul>
529    </li>
530
531    <li>The <tt>--ticket</tt> option can be used to specify one or more Trac ticket
532    numbers, which the branch relates to. Multiple ticket numbers can be set
533    by specifying this option multiple times, or by using a comma-separated
534    list of ticket numbers as the argument to the option. If set, the line
535    "Relates to ticket #&lt;number&gt;[, #&lt;number&gt;...]" will be added
536    to the template commit log.</li>
537
538    <li>If you specify the <tt>--non-interactive</tt> option, the command will not prompt
539    you for anything. (The <tt>--svn-non-interactive</tt> option is set automatically
540    when you specify <tt>--non-interactive</tt>.)</li>
541
542    <li>Subversion may prompt you for authentication if it is the first time
543    you access the repository. The command fails if the authentication
544    fails. If you specify the <tt>--svn-non-interactive</tt> option, Subversion will not
545    prompt you for authentication. In such case, the command will simply
546    fail if authentication is required. You can use the <tt>--password</tt> option to
547    specify a password. Please note that the <tt>--svn-non-interactive</tt> option is
548    always specified if you are running <tt>branch --create</tt> from the FCM GUI.
549    If authentication is required, you should specify your password using
550    the <tt>--password</tt> option in "Other options".</li>
551
552    <li>This command performs the following actions:
553
554      <ul>
555        <li>It determines the last changed revision of the trunk/source branch
556        at the HEAD (or the specified) revision.</li>
557
558        <li>It constructs the branch name from the option you have
559        specified and reports it.</li>
560
561        <li>It checks that the chosen branch name does not currently exist.
562        If so, the command aborts with an error.</li>
563
564        <li>If you do not specify the <tt>--non-interactive</tt> option, it starts an
565        editor (using a similar convention as <a href= "#fcm_svn_ci">commit</a>)
566        to allow you to add further comment to the commit log message. A
567        standard commit log template is provided for you below the line that
568        says "--This line will be ignored and those below will be inserted
569        automatically--". If you need to add any extra message to the log,
570        please do so <strong>above</strong> this line. When you exit the editor,
571        the command will report the commit log before prompting for confirmation
572        that you wish to proceed (it aborts if not).</li>
573
574        <li>It uses <tt>svn mkdir</tt> to create any sub-directories
575        required for the copy to succeed.</li>
576
577        <li>It uses <tt>svn copy</tt> to create the branch.</li>
578      </ul>
579    </li>
580
581    <li>For further details refer to the section <a href=
582    "code_management.html#svn_branching_create">Creating Branches</a>.</li>
583  </ul>
584
585  <p><tt>fcm branch --list</tt> lists the branches created by you (and/or other
586  users) at the HEAD revision of a standard FCM project.</p>
587
588  <ul>
589    <li>By default, it lists the branches created by you at the HEAD revision.
590    To display the branches at a different revision, you can use the
591    <tt>--revision arg</tt> option.</li>
592
593    <li>You can specify a list of users with the <tt>--user arg</tt>
594    option, where "arg" is a colon separated list of users. (Alternatively,
595    you can specify this option multiple times.) When this option is set,
596    the command lists the branches created by the specified list of users
597    instead.</li>
598
599    <li>By default, it lists the branches in the FCM URL keyword format. If you
600    want to print the full Subversion URL of the branches, you can use the
601    <tt>--verbose</tt> option.</li>
602
603    <li>The command returns 0 (success) if one or more branches is found
604    for the specified users, or 1 (failure) if no branch is found.</li>
605  </ul>
606
607  <h4>Alternate Names</h4>
608
609  <p>br</p>
610
611  <h3><a name="fcm_svn_ci">fcm commit</a></h3>
612
613  <h4>Usage</h4>
614
615  <p>fcm commit [--dry-run] [--svn-non-interactive] [--password arg] [PATH]</p>
616
617  <h4>Description</h4>
618
619  <p><tt>fcm commit</tt> sends changes from your working copy in the current
620  working directory (or from PATH if it is specified) to the repository.</p>
621
622  <ul>
623    <li>This command performs the following actions:
624
625      <ul>
626        <li>It checks that the current working directory (or PATH if it is
627        specified) is a working copy. (If not, it aborts with an error).</li>
628
629        <li>It always commits from the top level of the working copy.</li>
630
631        <li>It checks that there are no files in conflict, missing or out of
632        date (it aborts if there are).</li>
633
634        <li>It checks that any files which have been added have the
635        <em>svn:executable</em> property set correctly (in case a script was
636        added before the execute bit was set correctly).</li>
637
638        <li>It reads in any existing commit message and strips out any previous
639        status info (it starts with an empty file if there is none).
640
641          <ul>
642            <li>The commit message is stored in the file
643            <tt>#commit_message#</tt> in the top level of your working
644            copy.</li>
645          </ul>
646        </li>
647
648        <li>If you have run the <a href="fcm_svn_merge">merge</a> command
649        before the commit, you will get a standard commit log template below
650        the line that says "--This line will be ignored and those below will be
651        inserted automatically--". If you need to add any extra message to the
652        log, please do so <strong>above</strong> this line.</li>
653
654        <li>It adds the following line to the commit message:<br>
655        <tt>--This line, and those below, will be ignored--</tt><br>
656        This line, and anything below it, is automatically ignored by <tt>svn
657        commit</tt>.</li>
658
659        <li>It adds current status information to the commit message showing
660        the list of modifications.</li>
661
662        <li>It starts an editor to allow you to edit the commit message.
663
664          <ul>
665            <li>If defined, the environment variable SVN_EDITOR specifies the
666            editor.</li>
667
668            <li>Otherwise the environment variable VISUAL specifies the
669            editor.</li>
670
671            <li>Otherwise the environment variable EDITOR specifies the
672            editor.</li>
673
674            <li>Otherwise the editor <em>nedit</em> is used.</li>
675          </ul>
676        </li>
677
678        <li>It reports the commit message and then asks if you want to proceed
679        (it aborts if not).</li>
680
681        <li>It calls <tt>svn commit</tt> to send the changes to the
682        repository.</li>
683
684        <li>It calls <tt>svn update</tt> to bring your working copy up to the
685        new revision.</li>
686      </ul>
687    </li>
688
689    <li>Subversion may prompt you for authentication if it is the first time you
690    access the repository. The command fails if the authentication fails. If you
691    specify the <tt>--non-interactive</tt> option, Subversion will not prompt you for
692    authentication. In such case, the command will simply fail if authentication
693    is required. You can use the <tt>--password</tt> option to specify a password. Please
694    note that the <tt>--svn-non-interactive</tt> option is always specified if you are
695    running "commit" from the FCM GUI. If authentication is required, you should
696    specify your password using the <tt>--password</tt> option in "Other options".</li>
697
698    <li>The <tt>--dry-run</tt> switch prevents the command from committing any
699    changes. This can be used to allow you to add notes to your commit message
700    whilst you are still preparing your change.</li>
701  </ul>
702
703  <p>For further details refer to the section <a href=
704  "code_management.html#svn_basic_commit">Committing Changes</a>.</p>
705
706  <h4>Alternate Names</h4>
707
708  <p>ci</p>
709
710  <h3><a name="fcm_svn_cf">fcm conflicts</a></h3>
711
712  <h4>Usage</h4>
713
714  <p>fcm conflicts [PATH]</p>
715
716  <h4>Description</h4>
717
718  <p><tt>fcm conflicts</tt> helps you to resolve any text files in your working
719  copy which have conflicts by using the graphical merge tool <em>xxdiff</em>.
720  If PATH is set, it must be a working copy, and the command will operate in
721  it. If PATH is not set, the command will operate in your current working
722  directory.</p>
723
724  <li>This command performs the following actions:
725
726    <ul>
727      <li>For each text file reported as being in conflict (i.e. marked with a
728      "C" by <tt>svn status</tt>) it calls <tt>xxdiff</tt>.</li>
729
730      <li>If <tt>xxdiff</tt> reports all conflicts resolved then if asks if
731      you wish to run <tt>svn resolved</tt> on that file.</li>
732    </ul>
733  </li>
734
735  <p>For further details refer to the section <a href=
736  "code_management.html#svn_basic_conflicts">Resolving Conflicts</a>.</p>
737
738  <h4>Alternate Names</h4>
739
740  <p>cf</p>
741
742  <h3><a name="fcm_svn_rm">fcm delete</a></h3>
743
744  <h4>Usage</h4>
745
746  <p>fcm delete --check (-c)</p>
747
748  <p>fcm delete &lt;any valid <em>svn delete</em> options&gt;</p>
749
750  <h4>Description</h4>
751
752  <p><tt>fcm delete</tt> supports all of the switches, arguments and alternate
753  names supported by <tt>svn delete</tt> (refer to the <a href=
754  "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.delete.html">Subversion
755  book</a> for details).</p>
756
757  <ul>
758    <li>In addition, <tt>fcm delete</tt> supports a <tt>--check</tt> switch (no
759    other switches or arguments). When this is specified then <tt>fcm</tt>
760    checks for any files which are missing (i.e. marked with a "!" by <tt>svn
761    status</tt>) and prompts to see if you wish to schedule them for deletion
762    at the next commit (using <tt>svn delete</tt>).
763
764    <li>Subversion may prompt you for authentication if it is the first time
765    you access the repository. The command fails if the authentication fails.
766    If you specify the <tt>--non-interactive</tt> option, Subversion will not prompt
767    you for authentication. In such case, the command will simply fail if
768    authentication is required. Please note that the <tt>--non-interactive</tt> option
769    is automatically specified if you are running "delete" from the FCM GUI and
770    you have not checked the box "Check for files and directories...". If
771    authentication is required, you should run "delete" in interactive mode on
772    a command line.</li>
773  </ul>
774
775  <p>For further details refer to the section <a href=
776  "code_management.html#svn_basic_check">Adding and Removing Files</a>.</p>
777
778  <h3><a name="fcm_svn_diff">fcm diff</a></h3>
779
780  <h4>Usage</h4>
781
782  <p>fcm diff --branch (-b) [--graphical (-g) | --diff-cmd arg [--extensions
783  (-x) arg] | --wiki | --trac (-t)] [TARGET]</p>
784
785  <p>fcm diff [--graphical (-g) | --diff-cmd arg [--extensions (-x) arg]]
786  &lt;any valid <em>svn diff</em> options&gt;</p>
787
788  <h4>Description</h4>
789
790  <p><tt>fcm diff</tt> supports all of the switches, arguments and alternate
791  names supported by <tt>svn diff</tt> (refer to the <a href=
792  "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.diff.html">Subversion
793  book</a> for details). In addition, <tt>fcm diff</tt> supports the following
794  switches:</p>
795
796  <ul>
797    <li>If <tt>--graphical</tt> is specified, the command uses a graphical tool
798    to display the differences. (The default graphical <em>diff</em> tool is
799    <em>xxdiff</em>, but you can alter the behaviour by following the
800    instruction discussed in the sub-section on <a href=
801    "code_management.html#svn_basic_diff">Examining Changes</a>.) This
802    switch can be used in combination with all other valid switch (including
803    <tt>--branch</tt>) except <tt>--diff-cmd</tt>, <tt>--extensions</tt>,
804    <tt>--trac</tt> and <tt>--wiki</tt>.</li>
805
806    <li>If <tt>--branch</tt> is specified, the command displays the differences
807    between the target branch and its parent. This should show you the
808    differences which you would get if you tried to merge the changes in the
809    branch into its parent. It performs the following actions:
810
811      <ul>
812        <li>If TARGET is specified, it must either be a URL or a path to a
813        local working copy. Otherwise, the current working directory must be a
814        working copy. The specified URL or that of the working copy must be a
815        valid branch in a standard FCM project.</li>
816
817        <li>It determines the base of the branch relative to its parent. This is
818        adjusted to account for any merges from the branch to its parent or
819        vice-versa.</li>
820
821        <li>It reports what path and revision it is comparing against.</li>
822
823        <li>If <tt>--trac</tt> is specified, it launches Trac with your default
824        web browser to display it. Note: if TARGET is a working copy, local
825        changes in it will not be displayed by Trac.</li>
826
827        <li>If <tt>--wiki</tt> is specified, it prints a Trac wiki syntax for
828        the differences between the base and the specified branch.</li>
829
830        <li>Otherwise, it calls <tt>svn diff</tt> to report the differences
831        between the base and the specified branch (or working copy).</li>
832      </ul>
833    </li>
834  </ul>
835
836  <p>For further details refer to the section <a href=
837  "code_management.html#svn_basic_diff">Examining Changes</a>.</p>
838
839  <h3><a name="fcm_svn_merge">fcm merge</a></h3>
840
841  <h4>Usage</h4>
842
843  <p>fcm merge [--dry-run] [--non-interactive] [--verbose (-v)] SOURCE</p>
844
845  <p>fcm merge --custom --revision N[:M] [--dry-run] [--non-interactive]
846  [--verbose (-v)] SOURCE</p>
847
848  <p>fcm merge --custom [--dry-run] [--non-interactive] [--verbose (-v)]
849  URL1[@REV1] URL2[@REV2]</p>
850
851  <p>fcm merge --reverse --revision [M:]N [--dry-run] [--non-interactive]
852  [--verbose (-v)]</p>
853
854  <h4>Description</h4>
855
856  <p><tt>fcm merge</tt> allows you to merge changes from a source into your
857  working copy.</p>
858
859  <p>Before it begins, the command does the following:</p>
860
861  <ul>
862    <li>If a SOURCE/URL is specified, it can be a full URL or a partial URL
863    starting at the branches, trunk or tags level.
864
865      <ul>
866        <li>If a partial URL is given, and the path name does not begin with
867        "trunk", "tags" or "branches" then "branches/" is automatically
868        added to the beginning of your path.</li>
869      </ul>
870    </li>
871
872    <li>It determines the TARGET URL by examining your working copy.</li>
873
874    <li>If the current directory is not the top of your working copy, it
875    changes the current directory to the top of your working copy.</li>
876
877    <li>If your working copy is not pointing to a branch of a project
878    managed by FCM, the command aborts with an error.</li>
879
880    <li>If you do not specify the <tt>--non-interactive</tt> option, it checks for any
881    local modifications in your working copy. If it finds any it reports them
882    and asks you to confirm that you wish to continue (it aborts if not).</li>
883  </ul>
884
885  <p>If neither <tt>--custom</tt> nor <tt>--reverse</tt> is specified, the command defaults to the
886  automatic mode. Automatic merges are used to merge changes between two
887  directly related branches, (i.e. the branches must either be created from the
888  same parent or have a parent/child relationship). These merges are tracked by
889  FCM and can be used by subsequent FCM commands. The merge delta is calculated
890  by doing the following:</p>
891
892  <ul>
893    <li>It checks that the SOURCE and TARGET are directly related.</li>
894
895    <li>It determines the base revision and path of the <em>common
896    ancestor</em> of the SOURCE and TARGET.</li>
897
898    <li>The base revision and path are adjusted to account for any merges
899    from the SOURCE to the TARGET or vice-versa.</li>
900
901    <li>It reports the revisions from SOURCE available for merging into
902    TARGET. If the <tt>--verbose</tt> option is set, it prints the log for these
903    revisions. It aborts if no revision is available for merging.</li>
904
905    <li>If there are 2 or more revisions available for merging and you do not
906    specify the <tt>--non-interactive</tt> target, it asks you which revision of the
907    SOURCE you wish to merge from. The default is the last changed revision of
908    the SOURCE. The merge delta is between the base and the specified revision
909    of the SOURCE.</li>
910
911    <li>If your working copy is a sub-tree of the TARGET, it ensures that the
912    SOURCE contains only changes in the same sub-tree. Otherwise, the merge is
913    unsafe, and the command will abort with an error.
914
915     <p>N.B.: The command looks for changes in the SOURCE by going through the
916     list of changed files since the the SOURCE was last merged into the TARGET.
917     (If there is no previous merge from SOURCE to TARGET, the common ancestor
918     is used.) It is worth noting that there are situations when the command
919     will regard your merge as "unsafe" (and so will fail incorrectly) even if
920     the changes in the SOURCE outside of the current sub-tree will result in a
921     null merge. This can happen if the changes are the results of a previous
922     merge from the TARGET to the SOURCE or if these changes have been
923     reversed. In such case, you will have to perform your merge in a working
924     copy of a full tree.</p>
925    </li>
926  </ul>
927
928  <p>The <tt>--custom</tt> mode is useful if you need to merge changes selectively from
929  another branch. The custom mode can be used in two forms:
930 
931  <ul>
932    <li>In the first form, you must specify a SOURCE as well as a revision
933    (range) using the <tt>--revision</tt> option. If you specify a single revision N, the
934    merge delta is between revision N - 1 and revision N of the SOURCE.
935    Otherwise, the merge delta is between revision N and revision M, where N
936    &lt; M.</li>
937 
938    <li>In the second form, you must specify two URLs. The merge delta is simply
939    between the two URLs. (For each URL, if you do not specify a peg revision,
940    the command will peg the URL with its last changed revision.)</li>
941  </ul>
942 
943  <p>N.B. Unlike automatic merges, custom merges are not tracked or used by
944  subsequent FCM <tt>diff</tt> or <tt>merge</tt> commands, (although <tt>branch
945  --info</tt> can be set to report them). Custom merges are always allowed, even
946  if your working copy is pointing to a sub-tree of a branch. However, there is no
947  checking mechanism to ensure the safety of your sub-tree custom merge so you
948  should only do this if you are confident it is what you want.
949  Therefore, it is recommended that you use automatic merges where possible, and
950  use custom merges only if you know what you are doing.</p>
951
952  <p>The <tt>--reverse</tt> mode is useful if you need to reverse a changeset (or a range
953  of changesets) in the current branch of the working copy. In this mode, you
954  must specify a revision (range) using the <tt>--revision</tt> option. If you specify a
955  single revision N, the merge delta is between revision N and revision N - 1 of
956  the current branch. Otherwise, the merge delta is between revision M and
957  revision N, where M &gt; N.</p>
958
959  <p>N.B. Like custom merges, reverse merges are not tracked or used by
960  subsequent FCM <tt>diff</tt> or <tt>merge</tt> commands, (although <tt>branch
961  --info</tt> can be set to report them). Likewise, reverse merges in sub-trees
962  are always allowed, although there is no checking mechanism to ensure the safety of
963  your sub-tree reverse merge.</p>
964
965  <p>Once the merge delta is determined, the command performs the following:</p>
966
967  <ul>
968    <li>If you set the <tt>--dry-run</tt> option or if you are running in the interactive
969    mode, it reports what changes will result from performing this merge by
970    calling <tt>svn merge --dry-run</tt>.
971
972      <ul>
973        <li>It prints the actual <tt>svn merge --dry-run</tt> command if the
974        <tt>--verbose</tt> option is specified.</li>
975
976        <li>If you specify the <tt>--dry-run</tt> option, it exits after reporting what
977        changes will result from performing the merge.</li>
978      </ul>
979    </li>
980
981    <li>If you are running in the interactive mode, it asks if you want to go
982    ahead with the merge (it aborts if not).</li>
983
984    <li>It performs the merge by calling <tt>svn merge</tt> to apply the delta
985    between the base and the SOURCE on your working copy.
986
987      <ul>
988        <li>It prints the actual <tt>svn merge</tt> command if the <tt>--verbose</tt>
989        option is specified.</li>
990      </ul>
991    </li>
992
993    <li>It adds a standard template into the commit message to provide
994    details of the merge. The template is written below the line that says
995    "--This line will be ignored and those below will be inserted
996    automatically--". The <a href="fcm_svn_commit">fcm commit</a> command
997    will detect the existence of the template, so that you will not be able
998    to alter it by accident.
999
1000      <ul>
1001        <li>The commit message is stored in the file
1002        <tt>#commit_message#</tt> in the top level of your working copy. It
1003        is created by the merge command if it does not already exist.</li>
1004      </ul>
1005    </li>
1006  </ul>
1007
1008  <p>For further details refer to the section <a href=
1009  "code_management.html#svn_branching_merge">Merging</a>.</p>
1010
1011  <h3><a name="fcm_svn_mkpatch">fcm mkpatch</a></h3>
1012
1013  <h4>Usage</h4>
1014
1015  <p>fcm mkpatch [OPTIONS] URL [OUTDIR]</p>
1016
1017  <h4>Description</h4>
1018
1019  <p><tt>fcm mkpatch</tt> creates patches from the specified revisions of the
1020  specified URL, which must be a branch URL of a valid FCM project. If the URL
1021  is a sub-directory of a branch, it will use the root of the branch.</p>
1022 
1023  <p>If OUTDIR is specified, the output is sent to OUTDIR.  Otherwise, the
1024  output will be sent to a default location in the current directory
1025  (<tt>$PWD/fcm-mkpatch-out/</tt>). The output directory will contain the patch
1026  for each revision as well as a script for importing the patch.</p>
1027
1028  <p>If a revision is specified using the <tt>--revision</tt> option, it will
1029  attempt to create a patch based on the changes at that revision. If a revision
1030  is not specified, it will attempt to create a patch based on the changes at
1031  the HEAD revision. If a revision range is specified, it will attempt to create
1032  a patch for each revision in that range (including the change in the lower
1033  range) where changes have taken place in the URL. No output will be written if
1034  there is no change in the given revision (range).</p>
1035
1036  <p>The <tt>--exclude</tt> option can be used to exclude a path in the URL. The
1037  specified path must be a relative path of the URL. Glob patterns such as
1038  <tt>*</tt> and <tt>?</tt> are acceptable. Changes in an excluded path will not
1039  be considered in the patch. A changeset containing changes only in the
1040  excluded path will not be considered at all.</p>
1041
1042  <p>The <tt>--organisation</tt> option can be used to specify the name of your
1043  organisation. The command will attempt to parse the commit log message for
1044  each revision in the patch. It will remove all merge templates, replace links
1045  to Trac tickets with a simple string, and add information about the original
1046  changeset. If you specify the name of your organisation, it will replace Trac
1047  ticket links such as <tt>"ticket:123"</tt> to <tt>"$organisation ticket
1048  123"</tt>, and report the orginal changeset with a message such as
1049  <tt>"$organisation changeset 1000"</tt>. Otherwise, it will report without the
1050  organisation name, e.g. <tt>"Original ticket 123"</tt> and <tt>"Original
1051  changeset 1000"</tt>.</p>
1052
1053  <p>Within the output directory are the "patches" and the log message file for
1054  each revision. It also contains a generated script <tt>fcm-import-patch</tt>
1055  for importing the patches. The user of the script can invoke the script with
1056  either a URL or a working copy argument, and the script will attempt to import
1057  the patches into the given URL or working copy.</p>
1058
1059  <p>It is worth noting that changes in Subversion properties, including changes
1060  in executable permissions, are not handled by the import script.</p>
1061
1062  <h3><a name="fcm_svn_switch">fcm switch</a></h3>
1063
1064  <h4>Usage</h4>
1065
1066  <p>fcm switch [OPTIONS] URL [PATH]</p>
1067
1068  <p>fcm switch --relocate [OPTIONS] FROM TO [PATH]</p>
1069
1070  <h4>Description</h4>
1071
1072  <p><tt>fcm switch</tt> supports the arguments and alternate names supported by
1073  <tt>svn switch</tt>. If <tt>--relocate</tt> is specified, it supports all
1074  options supported by <tt>svn switch</tt>. Otherwise, it supports
1075  <tt>--non-interactive</tt>, <tt>-r [--revision]</tt> and <tt>-q [--quiet]</tt>
1076  only. (Please refer to the <a href=
1077  "http://svnbook.red-bean.com/en/1.2/svn.branchmerge.switchwc.html">Subversion
1078  book</a> for details).</p>
1079
1080  <p>If <tt>--relocate</tt> is specified, FCM will pass the options and
1081  arguments directly to the corresponding Subversion command. Otherwise, FCM
1082  will ensure that your working copy switches safely through the following
1083  actions:</p>
1084
1085  <ul>
1086    <li>If PATH (or the current working directory if PATH is not specified)
1087    is not at the top of a working copy, the command will automatically
1088    search for the top of the working copy, and the switch command will
1089    always apply recursively from that level.</li>
1090
1091    <li>You can specify only the "branch" part of the URL, such as "trunk",
1092    "branches/dev/fred/r1234_bob" or even "dev/fred/r1234_bob" and the
1093    command will work out the full URL for you.</li>
1094
1095    <li>If you do not specify the <tt>--non-interactive</tt> option, it checks for any
1096    local modifications in your working copy. If it finds any it reports them
1097    and asks you to confirm that you wish to continue (it aborts if not).</li>
1098
1099    <li>If you have some template messages in the <tt>#commit_message#</tt> file
1100    in the top level of your working copy, (e.g. after you have performed a
1101    merge), the command will report an error. You should remove the template
1102    message manually from the <tt>#commit_message#</tt> file before re-running
1103    <tt>switch</tt>.</li>
1104
1105    <li>The command will analyse the current working copy URL and the
1106    specified URL to ensure that they are in the same project. If your
1107    working copy is a sub-tree of a project, the command will assume that
1108    you want the same sub-tree in the new URL.</li>
1109  </ul>
1110
1111  <p>For further details refer to the section <a href=
1112  "code_management.html#svn_branching_switch">Switching your working copy to
1113  point to another branch</a>.</p>
1114
1115  <h3><a name="fcm_svn_trac">fcm trac</a></h3>
1116
1117  <h4>Usage</h4>
1118
1119  <p>fcm trac [--browser (-b) ARG] [PATH]</p>
1120
1121  <h4>Description</h4>
1122
1123  <p><tt>fcm trac</tt> invokes the web-browser to launch the corresponding
1124  URL of the web-based repository browser (currently Trac browser) to view
1125  the Subversion repository specified by PATH.</p>
1126
1127  <ul>
1128    <li>If the <tt>--browser</tt> option is specified, ARG must be a valid command
1129    to a web browser. If this option is not specified, the default is to use
1130    "firefox", or whatever setting you have declared in the user configuration
1131    file (<tt>$HOME/.fcm</tt>) using the label "SET::MISC::WEB_BROWSER". For
1132    example:
1133
1134      <pre>
1135set::misc::web_browser  mozilla
1136</pre>
1137    </li>
1138
1139    <li>If PATH is specified, it must be a path to a local working copying, a
1140    Subversion URL or a FCM URL keyword. If PATH is not specified, it is set to
1141    ".", the current working directory. If PATH is a directory in the local
1142    file system, the command will determine whether it is a working copy. If
1143    so, its associated Subversion URL will be used. The command fails if the
1144    directory is not a working copy. If PATH is a Subversion URL or a FCM URL
1145    keyword, the URL can be "pegged" with a revision number using the "@"
1146    symbol. For example, to view the trunk of the FCM repository at revision
1147    400, you can use "fcm:fcm_tr@400". The URL declared by or associated with
1148    PATH must also be associated with a Trac browser URL, which is declared
1149    using the "SET::TRAC::&lt;pck&gt;" label in the FCM central/user
1150    configuration file. The command fails if an associated Trac browser URL is
1151    not found.</li>
1152  </ul>
1153
1154  <h4>Alternate Names</h4>
1155
1156  <p>www</p>
1157
1158  <h3><a name="fcm_svn_other">Other Subversion Commands</a></h3>
1159
1160  <p>Other <tt>svn</tt> commands are supported by <tt>fcm</tt> without
1161  any change in functionality, with the following minor enhancements:</p>
1162
1163  <ul>
1164    <li>Where appropriate, FCM performs repository and revision keywords
1165    expansion.</li>
1166
1167    <li>The <tt>fcm checkout</tt> command fails if you attempt to checkout into
1168    an existing working copy.</li>
1169
1170    <li>FCM prints the corresponding <tt>svn</tt> command, except for
1171    <tt>cat</tt> and any commands with the <tt>--xml</tt> option specified.</li>
1172  </ul>
1173 
1174  <p>The following is a list of the commands:</p>
1175
1176  <ul>
1177    <li><a href=
1178    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.blame.html">svn
1179    blame</a></li>
1180
1181    <li><a href="http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.cat.html">svn
1182    cat</a></li>
1183
1184    <li><a href=
1185    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.checkout.html">svn
1186    checkout</a></li>
1187
1188    <li><a href=
1189    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.cleanup.html">svn
1190    cleanup</a></li>
1191
1192    <li><a href="http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.copy.html">svn
1193    copy</a></li>
1194
1195    <li><a href=
1196    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.export.html">svn
1197    export</a></li>
1198
1199    <li><a href=
1200    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.import.html">svn
1201    import</a></li>
1202
1203    <li><a href="http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.info.html">svn
1204    info</a></li>
1205
1206    <li><a href="http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.list.html">svn
1207    list</a></li>
1208
1209    <li><a href="http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.log.html">svn
1210    log</a></li>
1211
1212    <li><a href="http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.lock.html">svn
1213    lock</a></li>
1214
1215    <li><a href=
1216    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.mkdir.html">svn
1217    mkdir</a></li>
1218
1219    <li><a href="http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.move.html">svn
1220    move</a></li>
1221
1222    <li><a href=
1223    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.propdel.html">svn
1224    propdel</a></li>
1225
1226    <li><a href=
1227    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.propedit.html">svn
1228    propedit</a></li>
1229
1230    <li><a href=
1231    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.propget.html">svn
1232    propget</a></li>
1233
1234    <li><a href=
1235    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.proplist.html">svn
1236    proplist</a></li>
1237
1238    <li><a href=
1239    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.propset.html">svn
1240    propset</a></li>
1241
1242    <li><a href=
1243    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.resolved.html">svn
1244    resolved</a></li>
1245
1246    <li><a href=
1247    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.revert.html">svn
1248    revert</a></li>
1249
1250    <li><a href=
1251    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.status.html">svn
1252    status</a></li>
1253
1254    <li><a href=
1255    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.unlock.html">svn
1256    unlock</a></li>
1257
1258    <li><a href=
1259    "http://svnbook.red-bean.com/en/1.2/svn.ref.svn.c.update.html">svn
1260    update</a></li>
1261  </ul>
1262
1263  <p>Please refer to the <a href=
1264  "http://svnbook.red-bean.com/en/1.2/svn.ref.html">Subversion book</a> for
1265  details of these commands.</p>
1266 
1267  <script type="text/javascript" src="maintain.js">
1268  </script>
1269</body>
1270</html>
Note: See TracBrowser for help on using the repository browser.