  <h2>Command Line Interface Reference</h2>

  This is an easy introduction to the fossil command line interface
  (cli).  It assumes some familiarity with using the command line, and
  with Source Code Maintenence (SCM) systems&#8212;but not <i>too</i>
  much.

  If you are trying to find information about fossil's web
  capabilities, see the <a href="index.wiki">Fossil Home</a> and
  <a href="wikitheory.wiki">Fossil Wiki</a> pages for pointers.

  <h3>Things to note</h3>
  * Fossil cli commands do not use special delimeters, they use
  spaces.  This is traditional with VCS/SCM.  Some <i>options</i> to
  fossil commands <i>do</i> use special delimiters, particularly the
  '-' (hyphen, or dash) character.  This is very similar to Tcl.
  Think of fossil as a shell you invoke and feed a command to,
  including any options, and it will make more sense.

  * Any fossil command is acceptable once enough of it has been
  entered to make the intent unambiguous.  'clo' is a proper prefix of
  both the 'clone' and 'close' commands, for instance, but 'clon' is
  enough to make the intent&#8212;the 'clone'
  command&#8212;unambiguous.

  * Pragmatically, a [./concepts.wiki#keyconc | <u>version</u>]
  in <b>fossil</b> is a 40-character long string of hexadecimal.
  <b>fossil</b> will be able to figure out which version you want
  with any <i>distinct</i> prefix of that string which is at
  least four characters long.  <em>Commands which require a
  version are looking for the string, a distinct prefix of the
  string, or a <code>tag</code>.</em>

  * SCM in a distributed environment can be a bit confusing with
  regard to branching, merging, and versions in general.  See the
  [./branching.wiki | explanation of branching] and it will all make
  much more sense.

  * <i>Op.Ed.</i> An excellent way to learn to use <b>fossil</b>
    effectively is to
    [./quickstart.wiki#fslclone | clone the repository for fossil]
    itself.  You can then poke around using the <code>fossil ui</code>
    command, and look things up with no connection worries.  You can
    set up test repositories and try things out on-the-fly to see how
    they work, using their own ui's.  The CLI will far easier to
    understand if you can run a repository, watch it in a browser, and
    hack around with it in a simplified environment (your tests) with
    guaranteed and fast access to the sources & docs (your cloned fossil
    repository).
<br /><br /> <br />
  <b>You should</b> probably start interacting with fossil at the command
  line by asking it what it can
  do:&nbsp;&nbsp;&nbsp;&nbsp;<a name="tof">&#710;</a>

  <code>$ fossil [/help|help]</code>

  This will generate output in the form:<pre>
Usage: fossil help COMMAND.
Available COMMANDs:</pre><table width="80%"
                          style="font-family: fixed, courier, monospace;">
  <tr>
    <td width="20%">[/help?cmd=add|add]</td>
    <td>[/help?cmd=co|co]</td>
    <td width="20%">[/help?cmd=info|info]</td>
    <td width="20%">[/help?cmd=remote-url|remote-url]</td>
    <td width="20%">[/help?cmd=ticket|ticket]</td>
  </tr>
  <tr>
    <td>..</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table><pre>
This is fossil version [a89b436bc9] 2009-02-11 05:00:02 UTC
</pre>


  This information can also viewed in the fossil gui using the url
  PROJEKT-BASEURL/[/help|help]. You'll see a web page, listing all
  available commands in the current fossil build.

  Each listed command is a link to a web page, displaying the detailed
  command line help for the appropriate command.

  There are links to individual wiki pages for each command. These pages
  are named <kbd>cmd_<i>COMMAND-NAME</i></kbd>. These pages are not
  defined for all commands - it's a work in progress. Existing pages give
  more detailed description of the corresponding command.

  <h3>Caveats</h3>
  This reference is complete concerning the [/help|list] of commands
  and the detailed command line reference. It's always in sync with the
  used fossil build, because it uses the original command help, which is
  compiled into the binary.

  Additional, in-depth information in the wiki part is not available for
  all commands.
  
  There are several bits of <b>fossil</b> that are not addressed
  in the help for commands (special wiki directories, special users, etc.)
  so they are (currently) not addressed here.  Clarity and brevity may be
  sacrificed for expediency at the authors indiscretion.  All spelling and
  grammatical mistakes are somebody elses fault.<code>  void * </code>
  prohibited where<code> __C_PLUS_PLUS__ </code>. Title and taxes extra.
  Not valid in Hooptigonia.

  <h3>Testing fossil</h3>
  There are several [/help?cmd=test|test commands] to test the
  internals of fossil. These commands are listed on a special web page
  [/help?cmd=test|help?cmd=test]. This page is the counter part of
  <kbd><a href="/help?cmd=test-commands">fossil test-commands</a></kbd>.

