source: OFFICIAL/FCM_V1.3/doc/user_guide/command_ref.html @ 1

Last change on this file since 1 was 1, checked in by fcm, 15 years ago

creation de larborescence

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