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