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