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