Fossil

Artifact [a9f1345845]
Login

Artifact a9f13458456a11d4d41aa8307cc514331573912e:


Command Line Interface Reference

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—but not too much.
If you are trying to find information about fossil's web capabilities, see the Fossil Home and Fossil Wiki pages for pointers.

Things to note

* Fossil cli commands do not use special delimeters, they use spaces. This is traditional with VCS/SCM. Some options to fossil commands do 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—the 'clone' command—unambiguous.
* Pragmatically, a version in fossil is a 40-character long string of hexadecimal. fossil will be able to figure out which version you want with any distinct prefix of that string which is at least four characters long. Commands which require a version are looking for the string, a distinct prefix of the string, or a tag.
* SCM in a distributed environment can be a bit confusing with regard to branching, merging, and versions in general. See the explanation of branching and it will all make much more sense.
* Op.Ed. An excellent way to learn to use fossil effectively is to clone the repository for fossil itself. You can then poke around using the fossil ui 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).


You should probably start interacting with fossil at the command line by asking it what it can do:    ˆ
$ fossil help
This will generate output in the form:
Usage: fossil help COMMAND.
Available COMMANDs:
add co info remote-url ticket
..        
This is fossil version [a89b436bc9] 2009-02-11 05:00:02 UTC
This information can also viewed in the fossil gui using the url PROJEKT-BASEURL/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 cmd_COMMAND-NAME. These pages are not defined for all commands - it's a work in progress. Existing pages give more detailed description of the corresponding command.

Caveats

This reference is complete concerning the 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 fossil 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. void * prohibited where __C_PLUS_PLUS__ . Title and taxes extra. Not valid in Hooptigonia.

Testing fossil

There are several test commands to test the internals of fossil. These commands are listed on a special web page help?cmd=test. This page is the counter part of fossil test-commands.