Fossil

All Help Text
Login

/access_log:

Show login attempts, including timestamp and IP address.
Requires Admin privileges.

Query parameters:

   y=N      1: success only.  2: failure only.  3: both (default: 3)
   n=N      Number of entries to show (default: 200)
   o=N      Skip this many entries (default: 0)

/admin_log:

Shows the contents of the admin_log table, which is only created if
the admin-log setting is enabled. Requires Admin or Setup ('a' or
's') permissions.

/admin_sql:

Run raw SQL commands against the database file using the web interface.
Requires Admin privileges.

/admin_th1:

Run raw TH1 commands using the web interface.  If Tcl integration was
enabled at compile-time and the "tcl" setting is enabled, Tcl commands
may be run as well.  Requires Admin privilege.

/ainfo:

URL: /ainfo?name=ARTIFACTID

Show the details of an attachment artifact.

/ambiguous:

URL: /ambiguous?name=NAME&src=WEBPAGE

The NAME given by the name parameter is ambiguous.  Display a page
that shows all possible choices and let the user select between them.

/annotate:

URL: /annotate?checkin=ID&filename=FILENAME
URL: /blame?checkin=ID&filename=FILENAME
URL: /praise?checkin=ID&filename=FILENAME

Show the most recent change to each line of a text file.  /annotate shows
the date of the changes and the check-in hash (with a link to the
check-in).  /blame and /praise also show the user who made the check-in.

Query parameters:

   checkin=ID          The manifest ID at which to start the annotation
   filename=FILENAME   The filename.
   filevers            Show file versions rather than check-in versions
   limit=N             Limit the search depth to N ancestors
   log=BOOLEAN         Show a log of versions analyzed
   w                   Ignore whitespace

/artifact:

Typical usage:

   /artifact/HASH
   /whatis/HASH
   /file/NAME

Additional query parameters:

  ln              - show line numbers
  ln=N            - highlight line number N
  ln=M-N          - highlight lines M through N inclusive
  ln=M-N+Y-Z      - highlight lines M through N and Y through Z (inclusive)
  verbose         - show more detail in the description
  download        - redirect to the download (artifact page only)
  name=SHA1HASH   - Provide the SHA1HASH as a query parameter
  filename=NAME   - Show information for content file NAME
  fn=NAME         - "fn" is shorthand for "filename"
  ci=VERSION      - The specific check-in to use for "filename=".

The /artifact page show the complete content of a file
identified by HASH as preformatted text.  The
/whatis page shows only a description of the file.  The /file
page shows the most recent version of the file or directory
called NAME, or a list of the top-level directory if NAME is
omitted.

/attachadd:

Add a new attachment.

   tkt=TICKETUUID
   page=WIKIPAGE
   technote=TECHNOTEUUID
   from=URL

/attachdownload:

Download or display an attachment.
Query parameters:

   tkt=TICKETUUID
   page=WIKIPAGE
   technote=TECHNOTEUUID
   file=FILENAME
   attachid=ID

/attachimage:

Download or display an attachment.
Query parameters:

   tkt=TICKETUUID
   page=WIKIPAGE
   technote=TECHNOTEUUID
   file=FILENAME
   attachid=ID

/attachlist:

List attachments.

   tkt=TICKETUUID
   page=WIKIPAGE

At most one of technote=, tkt= or page= are supplied.
If none is given, all attachments are listed.  If one is given,
only attachments for the designated technote, ticket or wiki page
are shown. TECHNOTEUUID and TICKETUUID may be just a prefix of the
relevant technical note or ticket, in which case all attachments
of all technical notes or tickets with the prefix will be listed.

/attachview:

Download or display an attachment.
Query parameters:

   tkt=TICKETUUID
   page=WIKIPAGE
   technote=TECHNOTEUUID
   file=FILENAME
   attachid=ID

/background:

Return the background image.  If no background image is defined, a
built-in 16x16 pixel white GIF is returned.

/bigbloblist:

Return a page showing the largest artifacts in the repository in order
of decreasing size.

  n=N         Show the top N artifacts

/blame:

URL: /annotate?checkin=ID&filename=FILENAME
URL: /blame?checkin=ID&filename=FILENAME
URL: /praise?checkin=ID&filename=FILENAME

Show the most recent change to each line of a text file.  /annotate shows
the date of the changes and the check-in hash (with a link to the
check-in).  /blame and /praise also show the user who made the check-in.

Query parameters:

   checkin=ID          The manifest ID at which to start the annotation
   filename=FILENAME   The filename.
   filevers            Show file versions rather than check-in versions
   limit=N             Limit the search depth to N ancestors
   log=BOOLEAN         Show a log of versions analyzed
   w                   Ignore whitespace

/bloblist:

Return a page showing all artifacts in the repository.  Query parameters:

  n=N         Show N artifacts
  s=S         Start with artifact number S
  unpub       Show only unpublished artifacts
  hclr        Color code hash types (SHA1 vs SHA3)

/brlist:

Show a list of branches.  With no query parameters, a sortable table
is used to show all branches.  If query parameters are present a
fixed bullet list is shown.

Query parameters:

    all         Show all branches
    closed      Show only closed branches
    open        Show only open branches (default behavior)
    colortest   Show all branches with automatic color

/brtimeline:

Show a timeline of all branches

/cacheget:

Usage:  /cacheget?key=KEY

Download a single entry for the cache, identified by KEY.
This page is normally a hyperlink from the /cachestat page.
Requires Admin privilege.

/cachestat:

Show information about the webpage cache.  Requires Admin privilege.

/ci:

URL:  /ci?name=ARTIFACTID
URL:  /vinfo?name=ARTIFACTID

Display information about a particular check-in.

We also jump here from /info if the name is a check-in

If the /ci page is used (instead of /vinfo or /info) then the
default behavior is to show unified diffs of all file changes.
With /vinfo and /info, only a list of the changed files are
shown, without diffs.  This behavior is inverted if the
"show-version-diffs" setting is turned on.

/ci_edit:

URL:  /ci_edit?r=RID&c=NEWCOMMENT&u=NEWUSER

Present a dialog for updating properties of a check-in.

    *  The check-in user
    *  The check-in comment
    *  The check-in time and date
    *  The background color.
    *  Add and remove tags

/debug_tktedit:

Edit a ticket.  The ticket is identified by the name CGI parameter.
/tktedit is the official page.  The /debug_tktedit page does the same
thing except that it does not save the ticket change record when you
press submit - it instead prints the ticket change record at the top
of the page.  The /debug_tktedit page is intended to be used when
debugging ticket configurations.

/debug_tktnew:

Enter a new ticket.  The tktnew_template script in the ticket
configuration is used.  The /tktnew page is the official ticket
entry page.  The /debug_tktnew page is used for debugging the
tktnew_template in the ticket configuration.  /debug_tktnew works
just like /tktnew except that it does not really save the new ticket
when you press submit - it just prints the ticket artifact at the
top of the screen.

/dir:

Show the files and subdirectories within a single directory of the
source tree.  Only files for a single check-in are shown if the ci=
query parameter is present.  If ci= is missing, the union of files
across all check-ins is shown.

Query parameters:

   name=PATH        Directory to display.  Optional.  Top-level if missing
   ci=LABEL         Show only files in this check-in.  Optional.
   type=TYPE        TYPE=flat: use this display
                    TYPE=tree: use the /tree display instead

/doc:

URL: /uv/FILE
URL: /doc/CHECKIN/FILE

CHECKIN can be either tag or hash prefix or timestamp identifying a
particular check, or the name of a branch (meaning the most recent
check-in on that branch) or one of various magic words:

    "tip"      means the most recent check-in

    "ckout"    means the current check-out, if the server is run from
               within a check-out, otherwise it is the same as "tip"

FILE is the name of a file to delivered up as a webpage.  FILE is relative
to the root of the source tree of the repository. The FILE must
be a part of CHECKIN, except when CHECKIN=="ckout" when FILE is read
directly from disk and need not be a managed file.

The "ckout" CHECKIN is intended for development - to provide a mechanism
for looking at what a file will look like using the /doc webpage after
it gets checked in.

The file extension is used to decide how to render the file.

If FILE ends in "/" then the names "FILE/index.html", "FILE/index.wiki",
and "FILE/index.md" are tried in that order.  If the binary was compiled
with TH1 embedded documentation support and the "th1-docs" setting is
enabled, the name "FILE/index.th1" is also tried.  If none of those are
found, then FILE is completely replaced by "404.md" and tried.  If that
is not found, then a default 404 screen is generated.

If the file's mimetype is "text/x-fossil-wiki" or "text/x-markdown"
then headers and footers are added. If the document has mimetype
text/html then headers and footers are usually not added.  However,
if a "text/html" document begins with the following div:

      <div class='fossil-doc' data-title='TEXT'>

then headers and footers are supplied.  The optional data-title field
specifies the title of the document in that case.

For fossil-doc documents and for markdown documents, text of the
form:  "href='$ROOT/" or "action='$ROOT" has the $ROOT name expanded
to the top-level of the repository.

/docsrch:

Search for documents that match a user-supplied full-text search pattern.
If no pattern is specified (by the s= query parameter) then the user
is prompted to enter a search string.

Query parameters:

    s=PATTERN             Search for PATTERN

/event:

Display a technical note (formerly called an "event").

PARAMETERS:

 name=ID           Identify the technical note to display. ID must be
                   complete.
 aid=ARTIFACTID    Which specific version of the tech-note.  Optional.
 v=BOOLEAN         Show details if TRUE.  Default is FALSE.  Optional.

Display an existing tech-note identified by its ID, optionally at a
specific version, and optionally with additional details.

/eventedit:

Revise or create a technical note (formerly called an "event").

Parameters:

   name=ID           Hex hash ID of the tech-note. If omitted, a new
                     tech-note is created.

/fdiff:

URL: fdiff?v1=UUID&v2=UUID&patch&sbs=BOOLEAN&regex=REGEX

Two arguments, v1 and v2, identify the files to be diffed.  Show the
difference between the two artifacts.  Show diff side by side unless sbs
is 0.  Generate plain text if "patch" is present, otherwise generate
"pretty" HTML.

Additional parameters:

     verbose      Show more detail when describing artifacts
     dc=N         Show N lines of context around each diff
     w            Ignore whitespace

/file:

Typical usage:

   /artifact/HASH
   /whatis/HASH
   /file/NAME

Additional query parameters:

  ln              - show line numbers
  ln=N            - highlight line number N
  ln=M-N          - highlight lines M through N inclusive
  ln=M-N+Y-Z      - highlight lines M through N and Y through Z (inclusive)
  verbose         - show more detail in the description
  download        - redirect to the download (artifact page only)
  name=SHA1HASH   - Provide the SHA1HASH as a query parameter
  filename=NAME   - Show information for content file NAME
  fn=NAME         - "fn" is shorthand for "filename"
  ci=VERSION      - The specific check-in to use for "filename=".

The /artifact page show the complete content of a file
identified by HASH as preformatted text.  The
/whatis page shows only a description of the file.  The /file
page shows the most recent version of the file or directory
called NAME, or a list of the top-level directory if NAME is
omitted.

/fileage:

Show all files in a single check-in (identified by the name= query
parameter) in order of increasing age.

Parameters:
  name=VERSION   Selects the check-in version (default=tip).
  glob=STRING    Only shows files matching this glob pattern
                 (e.g. *.c or *.txt).
  showid         Show RID values for debugging

/finfo:

URL: /finfo?name=FILENAME

Show the change history for a single file.

Additional query parameters:

   a=DATETIME Only show changes after DATETIME
   b=DATETIME Only show changes before DATETIME
   n=NUM      Show the first NUM changes only
   brbg       Background color by branch name
   ubg        Background color by user name
   ci=UUID    Ancestors of a particular check-in
   showid     Show RID values for debugging

DATETIME may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in
year-month-day form, it may be truncated, and it may also name a
timezone offset from UTC as "-HH:MM" (westward) or "+HH:MM"
(eastward). Either no timezone suffix or "Z" means UTC.

/hash-collisions:

Show the number of hash collisions for hash prefixes of various lengths.

/hash-color-test:

Print out the color names associated with each tag.  Used for
testing the hash_color() function.

/help:

URL: /help?name=CMD

Show the built-in help text for CMD.  CMD can be a command-line interface
command or a page name from the web interface.

/hexdump:

URL: /hexdump?name=ARTIFACTID

Show the complete content of a file identified by ARTIFACTID
as preformatted text.

Other parameters:

    verbose              Show more detail when describing the object

/home:

The /home, /index, and /not_found pages all redirect to the homepage
configured by the administrator.

/honeypot:

This page is a honeypot for spiders and bots.

/index:

The /home, /index, and /not_found pages all redirect to the homepage
configured by the administrator.

/info:

URL: info/ARTIFACTID

The argument is a artifact ID which might be a check-in or a file or
a ticket changes or a wiki edit or something else.

Figure out what the artifact ID is and display it appropriately.

/juvlist:

Return a complete list of unversioned files as JSON.  The JSON
looks like this:

[{"name":NAME,
  "mtime":MTIME,
  "hash":HASH,
  "size":SIZE,
  "user":USER}]

/leaves:

Show leaf check-ins in a timeline.  By default only open leaves
are listed.

A "leaf" is a check-in with no children in the same branch.  A
"closed leaf" is a leaf that has a "closed" tag.  An "open leaf"
is a leaf without a "closed" tag.

Query parameters:

    all           Show all leaves
    closed        Show only closed leaves

/login:

The login/logout page.  Parameters:

   g=URL             Jump back to this URL after login completes
   anon              The g=URL is not accessible by "nobody" but is
                     accessible by "anonymous"

/logo:

Return the logo image.  This image is available to anybody who can see
the login page.  It is designed for use in the upper left-hand corner
of the header.

/logout:

The login/logout page.  Parameters:

   g=URL             Jump back to this URL after login completes
   anon              The g=URL is not accessible by "nobody" but is
                     accessible by "anonymous"

/md_rules:

Show a summary of the Markdown wiki formatting rules.

/mimetype_list:

Show the built-in table used to guess embedded document mimetypes
from file suffixes.

/mlink:

URL: /mlink?name=FILENAME
URL: /mlink?ci=NAME

Show all MLINK table entries for a particular file, or for
a particular check-in.  This screen is intended for use by developers
in debugging Fossil.

/modreq:

Show all pending moderation request

/my:

The login/logout page.  Parameters:

   g=URL             Jump back to this URL after login completes
   anon              The g=URL is not accessible by "nobody" but is
                     accessible by "anonymous"

/not_found:

The /home, /index, and /not_found pages all redirect to the homepage
configured by the administrator.

/praise:

URL: /annotate?checkin=ID&filename=FILENAME
URL: /blame?checkin=ID&filename=FILENAME
URL: /praise?checkin=ID&filename=FILENAME

Show the most recent change to each line of a text file.  /annotate shows
the date of the changes and the check-in hash (with a link to the
check-in).  /blame and /praise also show the user who made the check-in.

Query parameters:

   checkin=ID          The manifest ID at which to start the annotation
   filename=FILENAME   The filename.
   filevers            Show file versions rather than check-in versions
   limit=N             Limit the search depth to N ancestors
   log=BOOLEAN         Show a log of versions analyzed
   w                   Ignore whitespace

/raw:

URL: /raw?name=ARTIFACTID&m=TYPE
URL: /raw?ci=BRANCH&filename=NAME

Return the uninterpreted content of an artifact.  Used primarily
to view artifacts that are images.

/rcvfrom:

Show a single RCVFROM table entry identified by the rcvid= query
parameters.  Requires Admin privilege.

/rcvfromlist:

Show a listing of RCVFROM table entries.

The RCVFROM table records where this repository received each
artifact, including the time of receipt, user, and IP address.

Access requires Admin privilege.

/register:

Page to allow users to self-register.  The "self-register" setting
must be enabled for this page to operate.

/repo-tabsize:

Show relative sizes of tables in the repository database.

/repo_schema:

Show the repository schema

/repo_stat1:

Show the sqlite_stat1 table for the repository schema

/reportlist:

Main menu for Tickets.

/reports:

Shows activity reports for the repository.

Query Parameters:

  view=REPORT_NAME  Valid values: bymonth, byyear, byuser
  user=NAME         Restricts statistics to the given user
  type=TYPE         Restricts the report to a specific event type:
                    ci (check-in), w (wiki), t (ticket), g (tag)
                    Defaulting to all event types.

The view-specific query parameters include:

view=byweek:

  y=YYYY            The year to report (default is the server's
                    current year).

/rptedit:

Create (/rptnew) or edit (/rptedit) a ticket report format.
Query parameters:

    rn=N           Ticket report number. (required)
    t=TITLE        Title of the report format
    w=USER         Owner of the report format
    s=SQL          SQL text used to implement the report
    k=KEY          Color key

/rptnew:

Create (/rptnew) or edit (/rptedit) a ticket report format.
Query parameters:

    rn=N           Ticket report number. (required)
    t=TITLE        Title of the report format
    w=USER         Owner of the report format
    s=SQL          SQL text used to implement the report
    k=KEY          Color key

/rptsql:

URL: /rptsql?rn=N

Display the SQL query used to generate a ticket report.  The rn=N
query parameter identifies the specific report number to be displayed.

/rptview:

Generate a report.  The rn query parameter is the report number
corresponding to REPORTFMT.RN.  If the tablist query parameter exists,
then the output consists of lines of tab-separated fields instead of
an HTML table.

/search:

Search for check-in comments, documents, tickets, or wiki that
match a user-supplied pattern.

   s=PATTERN       Specify the full-text pattern to search for
   y=TYPE          What to search.
                     c -> check-ins
                     d -> documentation
                     t -> tickets
                     w -> wiki
                   all -> everything

/secaudit0:

Run a security audit of the current Fossil setup.
This page requires administrator access

/setup:

Main menu for the administrative pages.  Requires Admin privileges.

/setup_access:

The access-control settings page.  Requires Admin privileges.

/setup_adunit:

Administrative page for configuring and controlling ad units
and how they are displayed.

/setup_config:

The "Admin/Configuration" page.  Requires Admin privilege.

/setup_login_group:

Change how the current repository participates in a login
group.

/setup_logo:

Administrative page for changing the logo image.

/setup_modreq:

Admin page for setting up moderation of tickets and wiki.

/setup_settings:

Change or view miscellaneous settings.  Part of the
Admin pages requiring Admin privileges.

/setup_skin:

Show a list of available skins with buttons for selecting which
skin to use.  Requires Admin privilege.

/setup_skinedit:

Edit aspects of a skin determined by the w= query parameter.
Requires Admin privileges.

   w=N     -- 0=CSS, 1=footer, 2=header, 3=details

/setup_timeline:

Edit administrative settings controlling the display of
timelines.

/setup_ucap_list:

A documentation page showing the meaning of the various user capabilities
code letters.

/setup_uedit:

Edit information about a user or create a new user.
Requires Admin privileges.

/setup_ulist:

Show a list of users.  Clicking on any user jumps to the edit
screen for that user.  Requires Admin privileges.

Query parameters:

  with=CAP         Only show users that have one or more capabilities in CAP.

/setup_ulist_notes:

A documentation page showing notes about user configuration.  This information
used to be a side-bar on the user list page, but has been factored out for
improved presentation.

/shun:

View the hashes of all shunned artifacts.  Add new hashes
to the shun set.  Requires Admin privilege.

/sitemap:

List some of the web pages offered by the Fossil web engine.  This
page is intended as a supplement to the menu bar on the main screen.
That is, this page is designed to hold links that are omitted from
the main menu due to lack of space.

/srchsetup:

Configure the search engine.  Requires Admin privilege.

/stat:

Show statistics and global information about the repository.

/style.css:

Return the style sheet.

/taglist:

List all non-propagating symbolic tags.

/tagtimeline:

Render a timeline with all check-ins that contain non-propagating
symbolic tags.

/takeitprivate:

Disable anonymous access to this website

/tarball:

URL: /tarball

Generate a compressed tarball for the check-in specified by the "r"
query parameter.  Return that compressed tarball as the HTTP reply
content.

Query parameters:

  name=NAME[.tar.gz]  The base name of the output file.  The default
                      value is a configuration parameter in the project
                      settings.  A prefix of the name, omitting the
                      extension, is used as the top-most directory name.

  r=TAG               The check-in that is turned into a compressed tarball.
                      Defaults to "trunk".  This query parameter used to
                      be called "uuid" and "uuid" is still accepted for
                      backwards compatibility.  If omitted, the default
                      check-in name is "trunk".

  in=PATTERN          Only include files that match the comma-separate
                      list of GLOB patterns in PATTERN, as with ex=

  ex=PATTERN          Omit any file that match PATTERN.  PATTERN is a
                      comma-separated list of GLOB patterns, where each
                      pattern can optionally be quoted using ".." or '..'.
                      Any file matching both ex= and in= is excluded.

/technote:

Display a technical note (formerly called an "event").

PARAMETERS:

 name=ID           Identify the technical note to display. ID must be
                   complete.
 aid=ARTIFACTID    Which specific version of the tech-note.  Optional.
 v=BOOLEAN         Show details if TRUE.  Default is FALSE.  Optional.

Display an existing tech-note identified by its ID, optionally at a
specific version, and optionally with additional details.

/technoteedit:

Revise or create a technical note (formerly called an "event").

Parameters:

   name=ID           Hex hash ID of the tech-note. If omitted, a new
                     tech-note is created.

/test-all-help:

Show all help text on a single page.  Useful for proof-reading.

/test-backlinks:

Show a timeline of all check-ins and other events that have entries
in the backlink table.  This is used for testing the rendering
of the "References" section of the /info page.

/test-captcha:

Test the captcha-generator by rendering the value of the name= query
parameter using ascii-art.  If name= is omitted, show a random 16-digit
hexadecimal number.

/test-ftsdocs:

Show a table of all documents currently in the search index.

/test-piechart:

Generate a pie-chart based on data input from a form.

/test-rename-list:

Print a list of all file rename operations throughout history.
This page is intended for for testing purposes only and may change
or be discontinued without notice.

/test_env:

Display CGI-variables and other aspects of the run-time
environment, for debugging and trouble-shooting purposes.

/ticket:

This is intended to be the primary "Ticket" page.  Render as
either ticket-search (if search is enabled) or as the
/reportlist page (if ticket search is disabled).

/timeline:

Query parameters:

   a=TIMEORTAG    After this event
   b=TIMEORTAG    Before this event
   c=TIMEORTAG    "Circa" this event
   m=TIMEORTAG    Mark this event
   n=COUNT        Suggested number of events in output
   p=CHECKIN      Parents and ancestors of CHECKIN
   d=CHECKIN      Descendants of CHECIN
   dp=CHECKIN     The same as d=CHECKIN&p=CHECKIN
   t=TAG          Show only check-ins with the given TAG
   r=TAG          Show check-ins related to TAG, equivalent to t=TAG&rel
   rel            Show related check-ins as well as those matching t=TAG
   mionly         Limit rel to show ancestors but not descendants
   ms=STYLE       Set tag match style to EXACT, GLOB, LIKE, REGEXP
   u=USER         Only show items associated with USER
   y=TYPE         'ci', 'w', 't', 'e', or (default) 'all'
   ng             No Graph.
   nd             Do not highlight the focus check-in
   v              Show details of files changed
   f=CHECKIN      Show family (immediate parents and children) of CHECKIN
   from=CHECKIN   Path from...
   to=CHECKIN       ... to this
   shortest         ... show only the shortest path
   uf=FILE_HASH   Show only check-ins that contain the given file version
   chng=GLOBLIST  Show only check-ins that involve changes to a file whose
                    name matches one of the comma-separate GLOBLIST
   brbg           Background color from branch name
   ubg            Background color from user
   namechng       Show only check-ins that have filename changes
   forks          Show only forks and their children
   ym=YYYY-MM     Show only events for the given year/month
   yw=YYYY-WW     Show only events for the given week of the given year
   ymd=YYYY-MM-DD Show only events on the given day
   datefmt=N      Override the date format
   bisect         Show the check-ins that are in the current bisect
   showid         Show RIDs
   showsql        Show the SQL text

p= and d= can appear individually or together.  If either p= or d=
appear, then u=, y=, a=, and b= are ignored.

If both a= and b= appear then both upper and lower bounds are honored.

/timeline.rss:

URL:  /timeline.rss?y=TYPE&n=LIMIT&tkt=UUID&tag=TAG&wiki=NAME&name=FILENAME

Produce an RSS feed of the timeline.

TYPE may be: all, ci (show check-ins only), t (show tickets only),
w (show wiki only).

LIMIT is the number of items to show.

tkt=UUID filters for only those events for the specified ticket. tag=TAG
filters for a tag, and wiki=NAME for a wiki page. Only one may be used.

In addition, name=FILENAME filters for a specific file. This may be
combined with one of the other filters (useful for looking at a specific
branch).

/timewarps:

Show all check-ins that are "timewarps".  A timewarp is a
check-in that occurs before its parent, according to the
timestamp information on the check-in.  This can only actually
happen, of course, if a users system clock is set incorrectly.

/tinfo:

URL: /tinfo?name=ARTIFACTID

Show the details of a ticket change control artifact.

/tktedit:

Edit a ticket.  The ticket is identified by the name CGI parameter.
/tktedit is the official page.  The /debug_tktedit page does the same
thing except that it does not save the ticket change record when you
press submit - it instead prints the ticket change record at the top
of the page.  The /debug_tktedit page is intended to be used when
debugging ticket configurations.

/tkthistory:

URL: /tkthistory?name=TICKETUUID

Show the complete change history for a single ticket

/tktnew:

Enter a new ticket.  The tktnew_template script in the ticket
configuration is used.  The /tktnew page is the official ticket
entry page.  The /debug_tktnew page is used for debugging the
tktnew_template in the ticket configuration.  /debug_tktnew works
just like /tktnew except that it does not really save the new ticket
when you press submit - it just prints the ticket artifact at the
top of the screen.

/tktsetup:

Main sub-menu for configuring the ticketing system.

/tktsetup_change:

Administrative screen used to view or edit the TH1 script
that shows ticket changes.

/tktsetup_com:

Administrative page used to define TH1 script that is
common to all ticket screens.

/tktsetup_editpage:

Administrative page for viewing or editing the TH1 script that
drives the ticket editing page.

/tktsetup_keytplt:

Administrative page used to view or edit the Key template
for tickets.

/tktsetup_newpage:

Administrative page used to view or edit the TH1 script used
to enter new tickets.

/tktsetup_reportlist:

Administrative page used to view or edit the TH1 script that
defines the "report list" page.

/tktsetup_rpttplt:

Administrative page used to view or edit the ticket report
template.

/tktsetup_tab:

Administrative page for defining the "ticket" table used
to hold ticket information.

/tktsetup_timeline:

Administrative page used ot configure how tickets are
rendered on timeline views.

/tktsetup_viewpage:

Administrative page used to view or edit the TH1 script that
displays individual tickets.

/tktsrch:

Usage:  /tktsrch?s=PATTERN

Full-text search of all current tickets

/tkttimeline:

URL: /tkttimeline?name=TICKETUUID&y=TYPE

Show the change history for a single ticket in timeline format.

/tktview:

URL:  tktview?name=UUID

View a ticket identified by the name= query parameter.

/tree:

Show the files using a tree-view.  If the ci= query parameter is present
then show only the files for the check-in identified.  If ci= is omitted,
then show the union of files over all check-ins.

The type=tree query parameter is required or else the /dir format is
used.

Query parameters:

   type=tree        Required to prevent use of /dir format
   name=PATH        Directory to display.  Optional
   ci=LABEL         Show only files in this check-in.  Optional.
   re=REGEXP        Show only files matching REGEXP.  Optional.
   expand           Begin with the tree fully expanded.
   nofiles          Show directories (folders) only.  Omit files.
   mtime            Order directory elements by decreasing mtime

/urllist:

Show ways in which this repository has been accessed

/uv:

URL: /uv/FILE
URL: /doc/CHECKIN/FILE

CHECKIN can be either tag or hash prefix or timestamp identifying a
particular check, or the name of a branch (meaning the most recent
check-in on that branch) or one of various magic words:

    "tip"      means the most recent check-in

    "ckout"    means the current check-out, if the server is run from
               within a check-out, otherwise it is the same as "tip"

FILE is the name of a file to delivered up as a webpage.  FILE is relative
to the root of the source tree of the repository. The FILE must
be a part of CHECKIN, except when CHECKIN=="ckout" when FILE is read
directly from disk and need not be a managed file.

The "ckout" CHECKIN is intended for development - to provide a mechanism
for looking at what a file will look like using the /doc webpage after
it gets checked in.

The file extension is used to decide how to render the file.

If FILE ends in "/" then the names "FILE/index.html", "FILE/index.wiki",
and "FILE/index.md" are tried in that order.  If the binary was compiled
with TH1 embedded documentation support and the "th1-docs" setting is
enabled, the name "FILE/index.th1" is also tried.  If none of those are
found, then FILE is completely replaced by "404.md" and tried.  If that
is not found, then a default 404 screen is generated.

If the file's mimetype is "text/x-fossil-wiki" or "text/x-markdown"
then headers and footers are added. If the document has mimetype
text/html then headers and footers are usually not added.  However,
if a "text/html" document begins with the following div:

      <div class='fossil-doc' data-title='TEXT'>

then headers and footers are supplied.  The optional data-title field
specifies the title of the document in that case.

For fossil-doc documents and for markdown documents, text of the
form:  "href='$ROOT/" or "action='$ROOT" has the $ROOT name expanded
to the top-level of the repository.

/uvlist:

Display a list of all unversioned files in the repository.
Query parameters:

   byage=1          Order the initial display be decreasing age
   showdel=0        Show deleted files

/vdiff:

URL: /vdiff?from=TAG&to=TAG

Show the difference between two check-ins identified by the from= and
to= query parameters.

Query parameters:

  from=TAG        Left side of the comparison
  to=TAG          Right side of the comparison
  branch=TAG      Show all changes on a particular branch
  v=BOOLEAN       Default true.  If false, only list files that have changed
  sbs=BOOLEAN     Side-by-side diff if true.  Unified diff if false
  glob=STRING     only diff files matching this glob
  dc=N            show N lines of context around each diff
  w               ignore whitespace when computing diffs
  nohdr           omit the description at the top of the page


Show all differences between two check-ins.

/version:

Show the version information for Fossil.

Query parameters:

   verbose       Show details

/vinfo:

URL:  /ci?name=ARTIFACTID
URL:  /vinfo?name=ARTIFACTID

Display information about a particular check-in.

We also jump here from /info if the name is a check-in

If the /ci page is used (instead of /vinfo or /info) then the
default behavior is to show unified diffs of all file changes.
With /vinfo and /info, only a list of the changed files are
shown, without diffs.  This behavior is inverted if the
"show-version-diffs" setting is turned on.

/vpatch:

URL: /vpatch?from=FROM&to=TO

Show a patch that goes from check-in FROM to check-in TO.

/wcontent:

all=1         Show deleted pages

List all available wiki pages with date created and last modified.

/wdiff:

URL: /whistory?name=PAGENAME&a=RID1&b=RID2

Show the difference between two wiki pages.

/wfind:

URL: /wfind?title=TITLE
List all wiki pages whose titles contain the search text

/whatis:

Typical usage:

   /artifact/HASH
   /whatis/HASH
   /file/NAME

Additional query parameters:

  ln              - show line numbers
  ln=N            - highlight line number N
  ln=M-N          - highlight lines M through N inclusive
  ln=M-N+Y-Z      - highlight lines M through N and Y through Z (inclusive)
  verbose         - show more detail in the description
  download        - redirect to the download (artifact page only)
  name=SHA1HASH   - Provide the SHA1HASH as a query parameter
  filename=NAME   - Show information for content file NAME
  fn=NAME         - "fn" is shorthand for "filename"
  ci=VERSION      - The specific check-in to use for "filename=".

The /artifact page show the complete content of a file
identified by HASH as preformatted text.  The
/whatis page shows only a description of the file.  The /file
page shows the most recent version of the file or directory
called NAME, or a list of the top-level directory if NAME is
omitted.

/whistory:

URL: /whistory?name=PAGENAME

Show the complete change history for a single wiki page.

/wiki:

URL: /wiki?name=PAGENAME

/wiki_rules:

Show the formatting rules for Fossil wiki.

/wikiappend:

URL: /wikiappend?name=PAGENAME&mimetype=MIMETYPE

Append text to the end of a wiki page.

/wikiedit:

URL: /wikiedit?name=PAGENAME

Edit a wiki page.

/wikihelp:

A generic landing page for wiki.

/wikinew:

URL /wikinew

Prompt the user to enter the name of a new wiki page.  Then redirect
to the wikiedit screen for that new page.

/wikisrch:

Usage:  /wikisrch?s=PATTERN

Full-text search of all current wiki text

/winfo:

URL:  /winfo?name=UUID

Display information about a wiki page.

/xfer:

This is the transfer handler on the server side.  The transfer
message has been uncompressed and placed in the g.cgiIn blob.
Process this message and form an appropriate reply.

/xfersetup:

Main sub-menu for configuring the transfer system.

/xfersetup_com:

View or edit the TH1 script that runs prior to receiving a
transfer.

/xfersetup_commit:

View or edit the TH1 script that runs when a transfer commit
is processed.

/xfersetup_push:

View or edit the TH1 script that runs after receiving a "push".

/xfersetup_ticket:

View or edit the TH1 script that runs when a ticket change artifact
is processed during a transfer.

/zip:

URL: /zip

Generate a ZIP archive for the check-in specified by the "r"
query parameter.  Return that ZIP archive as the HTTP reply content.

Query parameters:

  name=NAME[.zip]     The base name of the output file.  The default
                      value is a configuration parameter in the project
                      settings.  A prefix of the name, omitting the
                      extension, is used as the top-most directory name.

  r=TAG               The check-in that is turned into a ZIP archive.
                      Defaults to "trunk".  This query parameter used to
                      be called "uuid" and the older "uuid" name is still
                      accepted for backwards compatibility.  If this
                      query paramater is omitted, the latest "trunk"
                      check-in is used.

  in=PATTERN          Only include files that match the comma-separate
                      list of GLOB patterns in PATTERN, as with ex=

  ex=PATTERN          Omit any file that match PATTERN.  PATTERN is a
                      comma-separated list of GLOB patterns, where each
                      pattern can optionally be quoted using ".." or '..'.
                      Any file matching both ex= and in= is excluded.

3-way-merge:

Usage: fossil 3-way-merge BASELINE V1 V2 MERGED

Inputs are files BASELINE, V1, and V2.  The file MERGED is generated
as output.

BASELINE is a common ancestor of two files V1 and V2 that have diverging
edits.  The generated output file MERGED is the combination of all
changes in both V1 and V2.

This command has no effect on the Fossil repository.  It is a utility
command made available for the convenience of users.  This command can
be used, for example, to help import changes from an upstream project.

Suppose an upstream project has a file named "Xup.c" which is imported
with modifications to the local project as "Xlocal.c".  Suppose further
that the "Xbase.c" is an exact copy of the last imported "Xup.c".
Then to import the latest "Xup.c" while preserving all the local changes:

     fossil 3-way-merge Xbase.c Xlocal.c Xup.c Xlocal.c
     cp Xup.c Xbase.c
     # Verify that everything still works
     fossil commit

add:

Usage: fossil add ?OPTIONS? FILE1 ?FILE2 ...?

Make arrangements to add one or more files or directories to the
current checkout at the next commit.

When adding files or directories recursively, filenames that begin
with "." are excluded by default.  To include such files, add
the "--dotfiles" option to the command-line.

The --ignore and --clean options are comma-separate lists of glob patterns
for files to be excluded.  Example:  '*.o,*.obj,*.exe'  If the --ignore
option does not appear on the command line then the "ignore-glob" setting
is used.  If the --clean option does not appear on the command line then
the "clean-glob" setting is used.

If files are attempted to be added explicitly on the command line which
match "ignore-glob", a confirmation is asked first. This can be prevented
using the -f|--force option.

The --case-sensitive option determines whether or not filenames should
be treated case sensitive or not. If the option is not given, the default
depends on the global setting, or the operating system default, if not set.

Options:

   --case-sensitive <BOOL> Override the case-sensitive setting.
   --dotfiles              include files beginning with a dot (".")
   -f|--force              Add files without prompting
   --ignore <CSG>          Ignore unmanaged files matching patterns from
                           the comma separated list of glob patterns.
   --clean <CSG>           Also ignore files matching patterns from
                           the comma separated list of glob patterns.
   --no-dir-symlinks       Disables support for directory symlinks.

See also: addremove, rm

addremove:

Usage: fossil addremove ?OPTIONS?

Do all necessary "add" and "rm" commands to synchronize the repository
with the content of the working checkout:

 *  All files in the checkout but not in the repository (that is,
    all files displayed using the "extras" command) are added as
    if by the "add" command.

 *  All files in the repository but missing from the checkout (that is,
    all files that show as MISSING with the "status" command) are
    removed as if by the "rm" command.

The command does not "commit".  You must run the "commit" separately
as a separate step.

Files and directories whose names begin with "." are ignored unless
the --dotfiles option is used.

The --ignore option overrides the "ignore-glob" setting, as do the
--case-sensitive option with the "case-sensitive" setting and the
--clean option with the "clean-glob" setting. See the documentation
on the "settings" command for further information.

The -n|--dry-run option shows what would happen without actually doing
anything.

This command can be used to track third party software.

Options:
  --case-sensitive <BOOL> Override the case-sensitive setting.
  --dotfiles              Include files beginning with a dot (".")
  --ignore <CSG>          Ignore unmanaged files matching patterns from
                          the comma separated list of glob patterns.
  --clean <CSG>           Also ignore files matching patterns from
                          the comma separated list of glob patterns.
  -n|--dry-run            If given, display instead of run actions.
  --no-dir-symlinks       Disables support for directory symlinks.

See also: add, rm

all:

Usage: fossil all SUBCOMMAND ...

The ~/.fossil file records the location of all repositories for a
user.  This command performs certain operations on all repositories
that can be useful before or after a period of disconnected operation.

On Win32 systems, the file is named "_fossil" and is located in
%LOCALAPPDATA%, %APPDATA% or %HOMEPATH%.

Available operations are:

   cache       Manages the cache used for potentially expensive web
               pages.  Any additional arguments are passed on verbatim
               to the cache command.

   changes     Shows all local checkouts that have uncommitted changes.
               This operation has no additional options.

   clean       Delete all "extra" files in all local checkouts.  Extreme
               caution should be exercised with this command because its
               effects cannot be undone.  Use of the --dry-run option to
               carefully review the local checkouts to be operated upon
               and the --whatif option to carefully review the files to
               be deleted beforehand is highly recommended.  The command
               line options supported by the clean command itself, if any
               are present, are passed along verbatim.

   config      Only the "config pull AREA" command works.

   dbstat      Run the "dbstat" command on all repositories.

   extras      Shows "extra" files from all local checkouts.  The command
               line options supported by the extra command itself, if any
               are present, are passed along verbatim.

   fts-config  Run the "fts-config" command on all repositories.

   info        Run the "info" command on all repositories.

   pull        Run a "pull" operation on all repositories.  Only the
               --verbose option is supported.

   push        Run a "push" on all repositories.  Only the --verbose
               option is supported.

   rebuild     Rebuild on all repositories.  The command line options
               supported by the rebuild command itself, if any are
               present, are passed along verbatim.  The --force and
               --randomize options are not supported.

   sync        Run a "sync" on all repositories.  Only the --verbose
               option is supported.

   setting     Run the "setting", "set", or "unset" commands on all
   set         repositories.  These command are particularly useful in
   unset       conjunction with the "max-loadavg" setting which cannot
               otherwise be set globally.

   server      Run the "ui" or "server" commands on all repositories.
   ui          The root URI gives a listing of all repos.


In addition, the following maintenance operations are supported:

   add         Add all the repositories named to the set of repositories
               tracked by Fossil.  Normally Fossil is able to keep up with
               this list by itself, but sometimes it can benefit from this
               hint if you rename repositories.

   ignore      Arguments are repositories that should be ignored by
               subsequent clean, extras, list, pull, push, rebuild, and
               sync operations.  The -c|--ckout option causes the listed
               local checkouts to be ignored instead.

   list | ls   Display the location of all repositories.  The -c|--ckout
               option causes all local checkouts to be listed instead.

Repositories are automatically added to the set of known repositories
when one of the following commands are run against the repository:
clone, info, pull, push, or sync.  Even previously ignored repositories
are added back to the list of repositories by these commands.

Options:
  --showfile     Show the repository or checkout being operated upon.
  --dontstop     Continue with other repositories even after an error.
  --dry-run      If given, display instead of run actions.

amend:

Usage: fossil amend UUID OPTION ?OPTION ...?

Amend the tags on check-in UUID to change how it displays in the timeline.

Options:

   --author USER           Make USER the author for check-in
   -m|--comment COMMENT    Make COMMENT the check-in comment
   -M|--message-file FILE  Read the amended comment from FILE
   -e|--edit-comment       Launch editor to revise comment
   --date DATETIME         Make DATETIME the check-in time
   --bgcolor COLOR         Apply COLOR to this check-in
   --branchcolor COLOR     Apply and propagate COLOR to the branch
   --tag TAG               Add new TAG to this check-in
   --cancel TAG            Cancel TAG from this check-in
   --branch NAME           Make this check-in the start of branch NAME
   --hide                  Hide branch starting from this check-in
   --close                 Mark this "leaf" as closed

DATETIME may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in
year-month-day form, it may be truncated, the "T" may be replaced by
a space, and it may also name a timezone offset from UTC as "-HH:MM"
(westward) or "+HH:MM" (eastward). Either no timezone suffix or "Z"
means UTC.

annotate:

Usage: fossil (annotate|blame|praise) ?OPTIONS? FILENAME

Output the text of a file with markings to show when each line of
the file was last modified.  The "annotate" command shows line numbers
and omits the username.  The "blame" and "praise" commands show the user
who made each check-in and omits the line number.

Options:
  --filevers                  Show file version numbers rather than
                              check-in versions
  -l|--log                    List all versions analyzed
  -n|--limit N                Only look backwards in time by N versions
  -w|--ignore-all-space       Ignore white space when comparing lines
  -Z|--ignore-trailing-space  Ignore whitespace at line end

See also: info, finfo, timeline

artifact:

Usage: fossil artifact ARTIFACT-ID ?OUTPUT-FILENAME? ?OPTIONS?

Extract an artifact by its artifact hash and write the results on
standard output, or if the optional 4th argument is given, in
the named output file.

Options:
   -R|--repository FILE       Extract artifacts from repository FILE

See also: finfo

attachment:

Usage: fossil attachment add ?PAGENAME? FILENAME ?OPTIONS?

      Add an attachment to an existing wiki page or tech note.

      Options:
        -t|--technote DATETIME      Specifies the timestamp of
                                    the technote to which the attachment
                                    is to be made. The attachment will be
                                    to the most recently modified tech note
                                    with the specified timestamp.
        -t|--technote TECHNOTE-ID   Specifies the technote to be
                                    updated by its technote id.

      One of PAGENAME, DATETIME or TECHNOTE-ID must be specified.

DATETIME may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in
year-month-day form, it may be truncated, the "T" may be replaced by
a space, and it may also name a timezone offset from UTC as "-HH:MM"
(westward) or "+HH:MM" (eastward). Either no timezone suffix or "Z"
means UTC.

bisect:

Usage: fossil bisect SUBCOMMAND ...

Run various subcommands useful for searching for bugs.

  fossil bisect bad ?VERSION?

    Identify version VERSION as non-working.  If VERSION is omitted,
    the current checkout is marked as non-working.

  fossil bisect good ?VERSION?

    Identify version VERSION as working.  If VERSION is omitted,
    the current checkout is marked as working.

  fossil bisect log
  fossil bisect chart

    Show a log of "good" and "bad" versions.  "bisect log" shows the
    events in the order that they were tested.  "bisect chart" shows
    them in order of check-in.

  fossil bisect next

    Update to the next version that is halfway between the working and
    non-working versions.

  fossil bisect options ?NAME? ?VALUE?

    List all bisect options, or the value of a single option, or set the
    value of a bisect option.

  fossil bisect reset

    Reinitialize a bisect session.  This cancels prior bisect history
    and allows a bisect session to start over from the beginning.

  fossil bisect vlist|ls|status ?-a|--all?

    List the versions in between "bad" and "good".

  fossil bisect ui

    Like "fossil ui" except start on a timeline that shows only the
    check-ins that are part of the current bisect.

  fossil bisect undo

    Undo the most recent "good" or "bad" command.

Summary:

  fossil bisect bad ?VERSION?
  fossil bisect good ?VERSION?
  fossil bisect log
  fossil bisect chart
  fossil bisect next
  fossil bisect options
  fossil bisect reset
  fossil bisect status
  fossil bisect ui
  fossil bisect undo

blame:

Usage: fossil (annotate|blame|praise) ?OPTIONS? FILENAME

Output the text of a file with markings to show when each line of
the file was last modified.  The "annotate" command shows line numbers
and omits the username.  The "blame" and "praise" commands show the user
who made each check-in and omits the line number.

Options:
  --filevers                  Show file version numbers rather than
                              check-in versions
  -l|--log                    List all versions analyzed
  -n|--limit N                Only look backwards in time by N versions
  -w|--ignore-all-space       Ignore white space when comparing lines
  -Z|--ignore-trailing-space  Ignore whitespace at line end

See also: info, finfo, timeline

branch:

Usage: fossil branch SUBCOMMAND ... ?OPTIONS?

Run various subcommands to manage branches of the open repository or
of the repository identified by the -R or --repository option.

   fossil branch new BRANCH-NAME BASIS ?OPTIONS?

       Create a new branch BRANCH-NAME off of check-in BASIS.
       Supported options for this subcommand include:
       --private             branch is private (i.e., remains local)
       --bgcolor COLOR       use COLOR instead of automatic background
       --nosign              do not sign contents on this branch
       --date-override DATE  DATE to use instead of 'now'
       --user-override USER  USER to use instead of the current default

       DATE may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in
       year-month-day form, it may be truncated, the "T" may be
       replaced by a space, and it may also name a timezone offset
       from UTC as "-HH:MM" (westward) or "+HH:MM" (eastward).
       Either no timezone suffix or "Z" means UTC.

   fossil branch list|ls ?-a|--all|-c|--closed?

       List all branches.  Use -a or --all to list all branches and
       -c or --closed to list all closed branches.  The default is to
       show only open branches.

   fossil branch info BRANCH-NAME

       Print information about a branch

Options:
   -R|--repository FILE       Run commands on repository FILE

bundle:

Usage: fossil bundle SUBCOMMAND ARGS...

  fossil bundle append BUNDLE FILE...

     Add files named on the command line to BUNDLE.  This subcommand has
     little practical use and is mostly intended for testing.

  fossil bundle cat BUNDLE UUID...

     Extract one or more artifacts from the bundle and write them
     consecutively on standard output.  This subcommand was designed
     for testing and introspection of bundles and is not something
     commonly used.

  fossil bundle export BUNDLE ?OPTIONS?

     Generate a new bundle, in the file named BUNDLE, that contains a
     subset of the check-ins in the repository (usually a single branch)
     described by the --branch, --from, --to, and/or --checkin options,
     at least one of which is required.  If BUNDLE already exists, the
     specified content is added to the bundle.

        --branch BRANCH            Package all check-ins on BRANCH.
        --from TAG1 --to TAG2      Package check-ins between TAG1 and TAG2.
        --checkin TAG              Package the single check-in TAG
        --standalone               Do no use delta-encoding against
                                     artifacts not in the bundle

  fossil bundle extend BUNDLE

     The BUNDLE must already exist.  This subcommand adds to the bundle
     any check-ins that are descendants of check-ins already in the bundle,
     and any tags that apply to artifacts in the bundle.

  fossil bundle import BUNDLE ?--publish?

     Import all content from BUNDLE into the repository.  By default, the
     imported files are private and will not sync.  Use the --publish
     option to make the import public.

  fossil bundle ls BUNDLE

     List the contents of BUNDLE on standard output

  fossil bundle purge BUNDLE

     Remove from the repository all files that are used exclusively
     by check-ins in BUNDLE.  This has the effect of undoing a
     "fossil bundle import".

SUMMARY:
  fossil bundle append BUNDLE FILE...              Add files to BUNDLE
  fossil bundle cat BUNDLE UUID...                 Extract file from BUNDLE
  fossil bundle export BUNDLE ?OPTIONS?            Create a new BUNDLE
         --branch BRANCH --from TAG1 --to TAG2       Check-ins to include
         --checkin TAG                               Use only check-in TAG
         --standalone                                Omit dependencies
  fossil bundle extend BUNDLE                      Update with newer content
  fossil bundle import BUNDLE ?OPTIONS?            Import a bundle
         --publish                                   Publish the import
         --force                                     Cross-repo import
  fossil bundle ls BUNDLE                          List content of a bundle
  fossil bundle purge BUNDLE                       Undo an import

See also: publish

cache:

Usage: fossil cache SUBCOMMAND

Manage the cache used for potentially expensive web pages such as
/zip and /tarball.   SUBCOMMAND can be:

   clear        Remove all entries from the cache.

   init         Create the cache file if it does not already exist.

   list|ls      List the keys and content sizes and other stats for
                all entries currently in the cache.

   status       Show a summary of the cache status.

The cache is stored in a file that is distinct from the repository
but that is held in the same directory as the repository.  The cache
file can be deleted in order to completely disable the cache.

cat:

Usage: fossil cat FILENAME ... ?OPTIONS?

Print on standard output the content of one or more files as they exist
in the repository.  The version currently checked out is shown by default.
Other versions may be specified using the -r option.

Options:
   -R|--repository FILE       Extract artifacts from repository FILE
   -r VERSION                 The specific check-in containing the file

See also: finfo

cgi:

Usage: fossil ?cgi? FILE

This command causes Fossil to generate reply to a CGI request.

The FILE argument is the name of a control file that provides Fossil
with important information such as where to find its repository.  In
a typical CGI deployment, FILE is the name of the CGI script and will
typically look something like this:

     #!/usr/bin/fossil
     repository: /home/somebody/project.db

The command name, "cgi", may be omitted if the GATEWAY_INTERFACE
environment variable is set to "CGI", which should always be the
case for CGI scripts run by a webserver.  Fossil ignores any lines
that begin with "#".

The following control lines are recognized:

   repository: PATH         Name of the Fossil repository

   directory:  PATH         Name of a directory containing many Fossil
                            repositories whose names all end with ".fossil".
                            There should only be one of "repository:"
                            or "directory:"

   notfound: URL            When in "directory:" mode, redirect to
                            URL if no suitable repository is found.

   repolist                 When in "directory:" mode, display a page
                            showing a list of available repositories if
                            the URL is "/".

   localauth                Grant administrator privileges to connections
                            from 127.0.0.1 or ::1.

   skin: LABEL              Use the built-in skin called LABEL rather than
                            the default.  If there are no skins called LABEL
                            then this line is a no-op.

   files: GLOBLIST          GLOBLIST is a comma-separated list of GLOB
                            patterns that specify files that can be
                            returned verbatim.  This feature allows Fossil
                            to act as a web server returning static
                            content.

   setenv: NAME VALUE       Set environment variable NAME to VALUE.  Or
                            if VALUE is omitted, unset NAME.

   HOME: PATH               Shorthand for "setenv: HOME PATH"

   debug: FILE              Causing debugging information to be written
                            into FILE.

   errorlog: FILE           Warnings, errors, and panics written to FILE.

   redirect: REPO URL       Extract the "name" query parameter and search
                            REPO for a check-in or ticket that matches the
                            value of "name", then redirect to URL.  There
                            can be multiple "redirect:" lines that are
                            processed in order.  If the REPO is "*", then
                            an unconditional redirect to URL is taken.

Most CGI files contain only a "repository:" line.  It is uncommon to
use any other option.

See also: http, server, winsrv

changes:

Usage: fossil changes|status ?OPTIONS? ?PATHS ...?

Report the change status of files in the current checkout.  If one or
more PATHS are specified, only changes among the named files and
directories are reported.  Directories are searched recursively.

The status command is similar to the changes command, except it lacks
several of the options supported by changes and it has its own header
and footer information.  The header information is a subset of that
shown by the info command, and the footer shows if there are any forks.
Change type classification is always enabled for the status command.

Each line of output is the name of a changed file, with paths shown
according to the "relative-paths" setting, unless overridden by the
--abs-paths or --rel-paths options.

By default, all changed files are selected for display.  This behavior
can be overridden by using one or more filter options (listed below),
in which case only files with the specified change type(s) are shown.
As a special case, the --no-merge option does not inhibit this default.
This default shows exactly the set of changes that would be checked
in by the commit command.

If no filter options are used, or if the --merge option is used, the
artifact hash of each merge contributor check-in version is displayed at
the end of the report.  The --no-merge option is useful to display the
default set of changed files without the merge contributors.

If change type classification is enabled, each output line starts with
a code describing the file's change type, e.g. EDITED or RENAMED.  It
is enabled by default unless exactly one change type is selected.  For
the purposes of determining the default, --changed counts as selecting
one change type.  The default can be overridden by the --classify or
--no-classify options.

--edited and --updated produce disjoint sets.  --updated shows a file
only when it is identical to that of its merge contributor, and the
change type classification is UPDATED_BY_MERGE or UPDATED_BY_INTEGRATE.
If the file had to be merged with any other changes, it is considered
to be merged or conflicted and therefore will be shown by --edited, not
--updated, with types EDITED or CONFLICT.  The --changed option can be
used to display the union of --edited and --updated.

--differ is so named because it lists all the differences between the
checked-out version and the checkout directory.  In addition to the
default changes (excluding --merge), it lists extra files which (if
ignore-glob is set correctly) may be worth adding.  Prior to doing a
commit, it is good practice to check --differ to see not only which
changes would be committed but also if any files should be added.

If both --merge and --no-merge are used, --no-merge has priority.  The
same is true of --classify and --no-classify.

The "fossil changes --extra" command is equivalent to "fossil extras".

General options:
   --abs-paths       Display absolute pathnames.
   --rel-paths       Display pathnames relative to the current working
                     directory.
   --hash            Verify file status using hashing rather than
                     relying on file mtimes.
   --case-sensitive <BOOL>  Override case-sensitive setting.
   --dotfiles        Include unmanaged files beginning with a dot.
   --ignore <CSG>    Ignore unmanaged files matching CSG glob patterns.
   --no-dir-symlinks Disables support for directory symlinks.

Options specific to the changes command:
   --header          Identify the repository if report is non-empty.
   -v|--verbose      Say "(none)" if the change report is empty.
   --classify        Start each line with the file's change type.
   --no-classify     Do not print file change types.

Filter options:
   --edited          Display edited, merged, and conflicted files.
   --updated         Display files updated by merge/integrate.
   --changed         Combination of the above two options.
   --missing         Display missing files.
   --added           Display added files.
   --deleted         Display deleted files.
   --renamed         Display renamed files.
   --conflict        Display files having merge conflicts.
   --meta            Display files with metadata changes.
   --unchanged       Display unchanged files.
   --all             Display all managed files, i.e. all of the above.
   --extra           Display unmanaged files.
   --differ          Display modified and extra files.
   --merge           Display merge contributors.
   --no-merge        Do not display merge contributors.

See also: extras, ls

checkout:

Usage: fossil checkout ?VERSION | --latest? ?OPTIONS?
   or: fossil co ?VERSION | --latest? ?OPTIONS?

Check out a version specified on the command-line.  This command
will abort if there are edited files in the current checkout unless
the --force option appears on the command-line.  The --keep option
leaves files on disk unchanged, except the manifest and manifest.uuid
files.

The --latest flag can be used in place of VERSION to checkout the
latest version in the repository.

Options:
   --force           Ignore edited files in the current checkout
   --keep            Only update the manifest and manifest.uuid files
   --force-missing   Force checkout even if content is missing

See also: update

ci:

Usage: fossil commit ?OPTIONS? ?FILE...?

Create a new version containing all of the changes in the current
checkout.  You will be prompted to enter a check-in comment unless
the comment has been specified on the command-line using "-m" or a
file containing the comment using -M.  The editor defined in the
"editor" fossil option (see fossil help set) will be used, or from
the "VISUAL" or "EDITOR" environment variables (in that order) if
no editor is set.

All files that have changed will be committed unless some subset of
files is specified on the command line.

The --branch option followed by a branch name causes the new
check-in to be placed in a newly-created branch with the name
passed to the --branch option.

Use the --branchcolor option followed by a color name (ex:
'#ffc0c0') to specify the background color of entries in the new
branch when shown in the web timeline interface.  The use of
the --branchcolor option is not recommended.  Instead, let Fossil
choose the branch color automatically.

The --bgcolor option works like --branchcolor but only sets the
background color for a single check-in.  Subsequent check-ins revert
to the default color.

A check-in is not permitted to fork unless the --allow-fork option
appears.  An empty check-in (i.e. with nothing changed) is not
allowed unless the --allow-empty option appears.  A check-in may not
be older than its ancestor unless the --allow-older option appears.
If any of files in the check-in appear to contain unresolved merge
conflicts, the check-in will not be allowed unless the
--allow-conflict option is present.  In addition, the entire
check-in process may be aborted if a file contains content that
appears to be binary, Unicode text, or text with CR/LF line endings
unless the interactive user chooses to proceed.  If there is no
interactive user or these warnings should be skipped for some other
reason, the --no-warnings option may be used.  A check-in is not
allowed against a closed leaf.

If a commit message is blank, you will be prompted:
("continue (y/N)?") to confirm you really want to commit with a
blank commit message.  The default value is "N", do not commit.

The --private option creates a private check-in that is never synced.
Children of private check-ins are automatically private.

The --tag option applies the symbolic tag name to the check-in.

The --hash option detects edited files by computing each file's
artifact hash rather than just checking for changes to its size or mtime.

Options:
   --allow-conflict           allow unresolved merge conflicts
   --allow-empty              allow a commit with no changes
   --allow-fork               allow the commit to fork
   --allow-older              allow a commit older than its ancestor
   --baseline                 use a baseline manifest in the commit process
   --bgcolor COLOR            apply COLOR to this one check-in only
   --branch NEW-BRANCH-NAME   check in to this new branch
   --branchcolor COLOR        apply given COLOR to the branch
   --close                    close the branch being committed
   --delta                    use a delta manifest in the commit process
   --integrate                close all merged-in branches
   -m|--comment COMMENT-TEXT  use COMMENT-TEXT as commit comment
   -M|--message-file FILE     read the commit comment from given file
   --mimetype MIMETYPE        mimetype of check-in comment
   -n|--dry-run               If given, display instead of run actions
   --no-prompt                This option disables prompting the user for
                              input and assumes an answer of 'No' for every
                              question.
   --no-warnings              omit all warnings about file contents
   --nosign                   do not attempt to sign this commit with gpg
   --private                  do not sync changes and their descendants
   --hash                     verify file status using hashing rather
                              than relying on file mtimes
   --tag TAG-NAME             assign given tag TAG-NAME to the check-in
   --date-override DATETIME   DATE to use instead of 'now'
   --user-override USER       USER to use instead of the current default

DATETIME may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in
year-month-day form, it may be truncated, the "T" may be replaced by
a space, and it may also name a timezone offset from UTC as "-HH:MM"
(westward) or "+HH:MM" (eastward). Either no timezone suffix or "Z"
means UTC.

See also: branch, changes, checkout, extras, sync

clean:

Usage: fossil clean ?OPTIONS? ?PATH ...?

Delete all "extra" files in the source tree.  "Extra" files are files
that are not officially part of the checkout.  If one or more PATH
arguments appear, then only the files named, or files contained with
directories named, will be removed.

If the --prompt option is used, prompts are issued to confirm the
permanent removal of each file.  Otherwise, files are backed up to the
undo buffer prior to removal, and prompts are issued only for files
whose removal cannot be undone due to their large size or due to
--disable-undo being used.

The --force option treats all prompts as having been answered yes,
whereas --no-prompt treats them as having been answered no.

Files matching any glob pattern specified by the --clean option are
deleted without prompting, and the removal cannot be undone.

No file that matches glob patterns specified by --ignore or --keep will
ever be deleted.  Files and subdirectories whose names begin with "."
are automatically ignored unless the --dotfiles option is used.

The default values for --clean, --ignore, and --keep are determined by
the (versionable) clean-glob, ignore-glob, and keep-glob settings.

The --verily option ignores the keep-glob and ignore-glob settings and
turns on the options --force, --emptydirs, --dotfiles, --disable-undo,
and --no-dir-symlinks.  Use the --verily option when you really want
to clean up everything.  Extreme care should be exercised when using
the --verily option.

Options:
   --allckouts      Check for empty directories within any checkouts
                    that may be nested within the current one.  This
                    option should be used with great care because the
                    empty-dirs setting (and other applicable settings)
                    belonging to the other repositories, if any, will
                    not be checked.
   --case-sensitive <BOOL> override case-sensitive setting
   --dirsonly       Only remove empty directories.  No files will
                    be removed.  Using this option will automatically
                    enable the --emptydirs option as well.
   --disable-undo   WARNING: This option disables use of the undo
                    mechanism for this clean operation and should be
                    used with extreme caution.
   --dotfiles       Include files beginning with a dot (".").
   --emptydirs      Remove any empty directories that are not
                    explicitly exempted via the empty-dirs setting
                    or another applicable setting or command line
                    argument.  Matching files, if any, are removed
                    prior to checking for any empty directories;
                    therefore, directories that contain only files
                    that were removed will be removed as well.
   -f|--force       Remove files without prompting.
   -i|--prompt      Prompt before removing each file.  This option
                    implies the --disable-undo option.
   -x|--verily      WARNING: Removes everything that is not a managed
                    file or the repository itself.  This option
                    implies the --force, --emptydirs, --dotfiles, and
                    --disable-undo, and --no-dir-symlinks options.
                    Furthermore, it completely disregards the keep-glob
                    and ignore-glob settings.  However, it does honor
                    the --ignore and --keep options.
   --clean <CSG>    WARNING: Never prompt to delete any files matching
                    this comma separated list of glob patterns.  Also,
                    deletions of any files matching this pattern list
                    cannot be undone.
   --ignore <CSG>   Ignore files matching patterns from the
                    comma separated list of glob patterns.
   --keep <CSG>     Keep files matching this comma separated
                    list of glob patterns.
   -n|--dry-run     Delete nothing, but display what would have been
                    deleted.
   --no-prompt      This option disables prompting the user for input
                    and assumes an answer of 'No' for every question.
   --no-dir-symlinks Disables support for directory symlinks.
   --temp           Remove only Fossil-generated temporary files.
   -v|--verbose     Show all files as they are removed.

See also: addremove, extras, status

clone:

Usage: fossil clone ?OPTIONS? URI FILENAME

Make a clone of a repository specified by URI in the local
file named FILENAME.

URI may be one of the following form: ([...] mean optional)
  HTTP/HTTPS protocol:
    http[s]://[userid[:password]@]host[:port][/path]

  SSH protocol:
    ssh://[userid@]host[:port]/path/to/repo.fossil\
    [?fossil=path/to/fossil.exe]

  Filesystem:
    [file://]path/to/repo.fossil

Note 1: For ssh and filesystem, path must have an extra leading
        '/' to use an absolute path.

Note 2: Use %HH escapes for special characters in the userid and
        password.  For example "%40" in place of "@", "%2f" in place
        of "/", and "%3a" in place of ":".

By default, your current login name is used to create the default
admin user. This can be overridden using the -A|--admin-user
parameter.

Options:
   --admin-user|-A USERNAME   Make USERNAME the administrator
   --once                     Don't remember the URI.
   --private                  Also clone private branches
   --ssl-identity FILENAME    Use the SSL identity if requested by the server
   --ssh-command|-c SSH       Use SSH as the "ssh" command
   --httpauth|-B USER:PASS    Add HTTP Basic Authorization to requests
   -u|--unversioned           Also sync unversioned content
   -v|--verbose               Show more statistics in output

See also: init

close:

Usage: fossil close ?OPTIONS?

The opposite of "open".  Close the current database connection.
Require a -f or --force flag if there are unsaved changes in the
current check-out or if there is non-empty stash.

Options:
  --force|-f  necessary to close a check out with uncommitted changes

See also: open

co:

Usage: fossil checkout ?VERSION | --latest? ?OPTIONS?
   or: fossil co ?VERSION | --latest? ?OPTIONS?

Check out a version specified on the command-line.  This command
will abort if there are edited files in the current checkout unless
the --force option appears on the command-line.  The --keep option
leaves files on disk unchanged, except the manifest and manifest.uuid
files.

The --latest flag can be used in place of VERSION to checkout the
latest version in the repository.

Options:
   --force           Ignore edited files in the current checkout
   --keep            Only update the manifest and manifest.uuid files
   --force-missing   Force checkout even if content is missing

See also: update

commit:

Usage: fossil commit ?OPTIONS? ?FILE...?

Create a new version containing all of the changes in the current
checkout.  You will be prompted to enter a check-in comment unless
the comment has been specified on the command-line using "-m" or a
file containing the comment using -M.  The editor defined in the
"editor" fossil option (see fossil help set) will be used, or from
the "VISUAL" or "EDITOR" environment variables (in that order) if
no editor is set.

All files that have changed will be committed unless some subset of
files is specified on the command line.

The --branch option followed by a branch name causes the new
check-in to be placed in a newly-created branch with the name
passed to the --branch option.

Use the --branchcolor option followed by a color name (ex:
'#ffc0c0') to specify the background color of entries in the new
branch when shown in the web timeline interface.  The use of
the --branchcolor option is not recommended.  Instead, let Fossil
choose the branch color automatically.

The --bgcolor option works like --branchcolor but only sets the
background color for a single check-in.  Subsequent check-ins revert
to the default color.

A check-in is not permitted to fork unless the --allow-fork option
appears.  An empty check-in (i.e. with nothing changed) is not
allowed unless the --allow-empty option appears.  A check-in may not
be older than its ancestor unless the --allow-older option appears.
If any of files in the check-in appear to contain unresolved merge
conflicts, the check-in will not be allowed unless the
--allow-conflict option is present.  In addition, the entire
check-in process may be aborted if a file contains content that
appears to be binary, Unicode text, or text with CR/LF line endings
unless the interactive user chooses to proceed.  If there is no
interactive user or these warnings should be skipped for some other
reason, the --no-warnings option may be used.  A check-in is not
allowed against a closed leaf.

If a commit message is blank, you will be prompted:
("continue (y/N)?") to confirm you really want to commit with a
blank commit message.  The default value is "N", do not commit.

The --private option creates a private check-in that is never synced.
Children of private check-ins are automatically private.

The --tag option applies the symbolic tag name to the check-in.

The --hash option detects edited files by computing each file's
artifact hash rather than just checking for changes to its size or mtime.

Options:
   --allow-conflict           allow unresolved merge conflicts
   --allow-empty              allow a commit with no changes
   --allow-fork               allow the commit to fork
   --allow-older              allow a commit older than its ancestor
   --baseline                 use a baseline manifest in the commit process
   --bgcolor COLOR            apply COLOR to this one check-in only
   --branch NEW-BRANCH-NAME   check in to this new branch
   --branchcolor COLOR        apply given COLOR to the branch
   --close                    close the branch being committed
   --delta                    use a delta manifest in the commit process
   --integrate                close all merged-in branches
   -m|--comment COMMENT-TEXT  use COMMENT-TEXT as commit comment
   -M|--message-file FILE     read the commit comment from given file
   --mimetype MIMETYPE        mimetype of check-in comment
   -n|--dry-run               If given, display instead of run actions
   --no-prompt                This option disables prompting the user for
                              input and assumes an answer of 'No' for every
                              question.
   --no-warnings              omit all warnings about file contents
   --nosign                   do not attempt to sign this commit with gpg
   --private                  do not sync changes and their descendants
   --hash                     verify file status using hashing rather
                              than relying on file mtimes
   --tag TAG-NAME             assign given tag TAG-NAME to the check-in
   --date-override DATETIME   DATE to use instead of 'now'
   --user-override USER       USER to use instead of the current default

DATETIME may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in
year-month-day form, it may be truncated, the "T" may be replaced by
a space, and it may also name a timezone offset from UTC as "-HH:MM"
(westward) or "+HH:MM" (eastward). Either no timezone suffix or "Z"
means UTC.

See also: branch, changes, checkout, extras, sync

configuration:

Usage: fossil configuration METHOD ... ?OPTIONS?

Where METHOD is one of: export import merge pull push reset.  All methods
accept the -R or --repository option to specify a repository.

   fossil configuration export AREA FILENAME

        Write to FILENAME exported configuration information for AREA.
        AREA can be one of:  all email project shun skin ticket user

   fossil configuration import FILENAME

        Read a configuration from FILENAME, overwriting the current
        configuration.

   fossil configuration merge FILENAME

        Read a configuration from FILENAME and merge its values into
        the current configuration.  Existing values take priority over
        values read from FILENAME.

   fossil configuration pull AREA ?URL?

        Pull and install the configuration from a different server
        identified by URL.  If no URL is specified, then the default
        server is used. Use the --legacy option for the older protocol
        (when talking to servers compiled prior to 2011-04-27.)  Use
        the --overwrite flag to completely replace local settings with
        content received from URL.

   fossil configuration push AREA ?URL?

        Push the local configuration into the remote server identified
        by URL.  Admin privilege is required on the remote server for
        this to work.  When the same record exists both locally and on
        the remote end, the one that was most recently changed wins.
        Use the --legacy flag when talking to older servers.

   fossil configuration reset AREA

        Restore the configuration to the default.  AREA as above.

   fossil configuration sync AREA ?URL?

        Synchronize configuration changes in the local repository with
        the remote repository at URL.

Options:
   -R|--repository FILE       Extract info from repository FILE

See also: settings, unset

dbstat:

Usage: fossil dbstat OPTIONS

Shows statistics and global information about the repository.

Options:

  --brief|-b           Only show essential elements
  --db-check           Run a PRAGMA quick_check on the repository database
  --omit-version-info  Omit the SQLite and Fossil version information

deconstruct:

Usage fossil deconstruct ?OPTIONS? DESTINATION


This command exports all artifacts of a given repository and
writes all artifacts to the file system. The DESTINATION directory
will be populated with subdirectories AA and files AA/BBBBBBBBB.., where
AABBBBBBBBB.. is the 40+ character artifact ID, AA the first 2 characters.
If -L|--prefixlength is given, the length (default 2) of the directory
prefix can be set to 0,1,..,9 characters.

Options:
  -R|--repository REPOSITORY  deconstruct given REPOSITORY
  -L|--prefixlength N         set the length of the names of the DESTINATION
                              subdirectories to N
  --private                   Include private artifacts.

See also: rebuild, reconstruct

delete:

Usage: fossil rm|delete|forget FILE1 ?FILE2 ...?

Remove one or more files or directories from the repository.

The 'rm' and 'delete' commands do NOT normally remove the files from
disk.  They just mark the files as no longer being part of the project.
In other words, future changes to the named files will not be versioned.
However, the default behavior of this command may be overridden via the
command line options listed below and/or the 'mv-rm-files' setting.

The 'forget' command never removes files from disk, even when the command
line options and/or the 'mv-rm-files' setting would otherwise require it
to do so.

WARNING: If the "--hard" option is specified -OR- the "mv-rm-files"
         setting is non-zero, files WILL BE removed from disk as well.
         This does NOT apply to the 'forget' command.

Options:
  --soft                  Skip removing files from the checkout.
                          This supersedes the --hard option.
  --hard                  Remove files from the checkout.
  --case-sensitive <BOOL> Override the case-sensitive setting.
  -n|--dry-run            If given, display instead of run actions.
  --no-dir-symlinks       Disables support for directory symlinks.

See also: addremove, add

descendants:

Usage: fossil descendants ?CHECKIN? ?OPTIONS?

Find all leaf descendants of the check-in specified or if the argument
is omitted, of the check-in currently checked out.

Options:
   -R|--repository FILE       Extract info from repository FILE
   -W|--width <num>           Width of lines (default is to auto-detect).
                              Must be >20 or 0 (= no limit, resulting in a
                              single line per entry).

See also: finfo, info, leaves

diff:

Usage: fossil diff|gdiff ?OPTIONS? ?FILE1? ?FILE2 ...?

Show the difference between the current version of each of the FILEs
specified (as they exist on disk) and that same file as it was checked
out.  Or if the FILE arguments are omitted, show the unsaved changes
currently in the working check-out.

If the "--from VERSION" or "-r VERSION" option is used it specifies
the source check-in for the diff operation.  If not specified, the
source check-in is the base check-in for the current check-out.

If the "--to VERSION" option appears, it specifies the check-in from
which the second version of the file or files is taken.  If there is
no "--to" option then the (possibly edited) files in the current check-out
are used.

The "--checkin VERSION" option shows the changes made by
check-in VERSION relative to its primary parent.

The "-i" command-line option forces the use of the internal diff logic
rather than any external diff program that might be configured using
the "setting" command.  If no external diff program is configured, then
the "-i" option is a no-op.  The "-i" option converts "gdiff" into "diff".

The "-N" or "--new-file" option causes the complete text of added or
deleted files to be displayed.

The "--diff-binary" option enables or disables the inclusion of binary files
when using an external diff program.

The "--binary" option causes files matching the glob PATTERN to be treated
as binary when considering if they should be used with external diff program.
This option overrides the "binary-glob" setting.

Options:
  --binary PATTERN           Treat files that match the glob PATTERN as binary
  --branch BRANCH            Show diff of all changes on BRANCH
  --brief                    Show filenames only
  --checkin VERSION          Show diff of all changes in VERSION
  --command PROG             External diff program - overrides "diff-command"
  --context|-c N             Use N lines of context
  --diff-binary BOOL         Include binary files when using external commands
  --exec-abs-paths           Force absolute path names with external commands.
  --exec-rel-paths           Force relative path names with external commands.
  --from|-r VERSION          Select VERSION as source for the diff
  --internal|-i              Use internal diff logic
  --numstat                  Show only the number of lines delete and added
  --side-by-side|-y          Side-by-side diff
  --strip-trailing-cr        Strip trailing CR
  --tk                       Launch a Tcl/Tk GUI for display
  --to VERSION               Select VERSION as target for the diff
  --undo                     Diff against the "undo" buffer
  --unified                  Unified diff
  -v|--verbose               Output complete text of added or deleted files
  -w|--ignore-all-space      Ignore white space when comparing lines
  -W|--width <num>           Width of lines in side-by-side diff
  -Z|--ignore-trailing-space Ignore changes to end-of-line whitespace

export:

Usage: fossil export --git ?OPTIONS? ?REPOSITORY?

Write an export of all check-ins to standard output.  The export is
written in the git-fast-export file format assuming the --git option is
provided.  The git-fast-export format is currently the only VCS
interchange format supported, though other formats may be added in
the future.

Run this command within a checkout.  Or use the -R or --repository
option to specify a Fossil repository to be exported.

Only check-ins are exported using --git.  Git does not support tickets
or wiki or tech notes or attachments, so none of those are exported.

If the "--import-marks FILE" option is used, it contains a list of
rids to skip.

If the "--export-marks FILE" option is used, the rid of all commits and
blobs written on exit for use with "--import-marks" on the next run.

Options:
  --export-marks FILE          export rids of exported data to FILE
  --import-marks FILE          read rids of data to ignore from FILE
  --rename-trunk NAME          use NAME as name of exported trunk branch
  --repository|-R REPOSITORY   export the given REPOSITORY

See also: import

extras:

Usage: fossil extras ?OPTIONS? ?PATH1 ...?

Print a list of all files in the source tree that are not part of the
current checkout. See also the "clean" command. If paths are specified,
only files in the given directories will be listed.

Files and subdirectories whose names begin with "." are normally
ignored but can be included by adding the --dotfiles option.

Files whose names match any of the glob patterns in the "ignore-glob"
setting are ignored. This setting can be overridden by the --ignore
option, whose CSG argument is a comma-separated list of glob patterns.

Pathnames are displayed according to the "relative-paths" setting,
unless overridden by the --abs-paths or --rel-paths options.

Options:
   --abs-paths      Display absolute pathnames.
   --case-sensitive <BOOL> override case-sensitive setting
   --dotfiles       include files beginning with a dot (".")
   --header         Identify the repository if there are extras
   --ignore <CSG>   ignore files matching patterns from the argument
   --no-dir-symlinks Disables support for directory symlinks.
   --rel-paths      Display pathnames relative to the current working
                    directory.

See also: changes, clean, status

finfo:

Usage: fossil finfo ?OPTIONS? FILENAME

Print the complete change history for a single file going backwards
in time.  The default mode is -l.

For the -l|--log mode: If "-b|--brief" is specified one line per revision
is printed, otherwise the full comment is printed.  The "-n|--limit N"
and "--offset P" options limits the output to the first N changes
after skipping P changes.

In the -s mode prints the status as <status> <revision>.  This is
a quick status and does not check for up-to-date-ness of the file.

In the -p mode, there's an optional flag "-r|--revision REVISION".
The specified version (or the latest checked out version) is printed
to stdout.  The -p mode is another form of the "cat" command.

Options:
  -b|--brief           display a brief (one line / revision) summary
  --case-sensitive B   Enable or disable case-sensitive filenames.  B is a
                       boolean: "yes", "no", "true", "false", etc.
  -l|--log             select log mode (the default)
  -n|--limit N         Display the first N changes (default unlimited).
                       N<=0 means no limit.
  --no-dir-symlinks    Disables support for directory symlinks.
  --offset P           skip P changes
  -p|--print           select print mode
  -r|--revision R      print the given revision (or ckout, if none is given)
                       to stdout (only in print mode)
  -s|--status          select status mode (print a status indicator for FILE)
  -W|--width <num>     Width of lines (default is to auto-detect). Must be
                       >22 or 0 (= no limit, resulting in a single line per
                       entry).

See also: artifact, cat, descendants, info, leaves

forget:

Usage: fossil rm|delete|forget FILE1 ?FILE2 ...?

Remove one or more files or directories from the repository.

The 'rm' and 'delete' commands do NOT normally remove the files from
disk.  They just mark the files as no longer being part of the project.
In other words, future changes to the named files will not be versioned.
However, the default behavior of this command may be overridden via the
command line options listed below and/or the 'mv-rm-files' setting.

The 'forget' command never removes files from disk, even when the command
line options and/or the 'mv-rm-files' setting would otherwise require it
to do so.

WARNING: If the "--hard" option is specified -OR- the "mv-rm-files"
         setting is non-zero, files WILL BE removed from disk as well.
         This does NOT apply to the 'forget' command.

Options:
  --soft                  Skip removing files from the checkout.
                          This supersedes the --hard option.
  --hard                  Remove files from the checkout.
  --case-sensitive <BOOL> Override the case-sensitive setting.
  -n|--dry-run            If given, display instead of run actions.
  --no-dir-symlinks       Disables support for directory symlinks.

See also: addremove, add

fts-config:

Usage: fossil fts-config ?SUBCOMMAND? ?ARGUMENT?

The "fossil fts-config" command configures the full-text search capabilities
of the repository.  Subcommands:

    reindex            Rebuild the search index.  This is a no-op if
                       index search is disabled

    index (on|off)     Turn the search index on or off

    enable cdtw        Enable various kinds of search. c=Check-ins,
                       d=Documents, t=Tickets, w=Wiki.

    disable cdtw       Disable various kinds of search

    stemmer (on|off)   Turn the Porter stemmer on or off for indexed
                       search.  (Unindexed search is never stemmed.)

The current search settings are displayed after any changes are applied.
Run this command with no arguments to simply see the settings.

gdiff:

Usage: fossil diff|gdiff ?OPTIONS? ?FILE1? ?FILE2 ...?

Show the difference between the current version of each of the FILEs
specified (as they exist on disk) and that same file as it was checked
out.  Or if the FILE arguments are omitted, show the unsaved changes
currently in the working check-out.

If the "--from VERSION" or "-r VERSION" option is used it specifies
the source check-in for the diff operation.  If not specified, the
source check-in is the base check-in for the current check-out.

If the "--to VERSION" option appears, it specifies the check-in from
which the second version of the file or files is taken.  If there is
no "--to" option then the (possibly edited) files in the current check-out
are used.

The "--checkin VERSION" option shows the changes made by
check-in VERSION relative to its primary parent.

The "-i" command-line option forces the use of the internal diff logic
rather than any external diff program that might be configured using
the "setting" command.  If no external diff program is configured, then
the "-i" option is a no-op.  The "-i" option converts "gdiff" into "diff".

The "-N" or "--new-file" option causes the complete text of added or
deleted files to be displayed.

The "--diff-binary" option enables or disables the inclusion of binary files
when using an external diff program.

The "--binary" option causes files matching the glob PATTERN to be treated
as binary when considering if they should be used with external diff program.
This option overrides the "binary-glob" setting.

Options:
  --binary PATTERN           Treat files that match the glob PATTERN as binary
  --branch BRANCH            Show diff of all changes on BRANCH
  --brief                    Show filenames only
  --checkin VERSION          Show diff of all changes in VERSION
  --command PROG             External diff program - overrides "diff-command"
  --context|-c N             Use N lines of context
  --diff-binary BOOL         Include binary files when using external commands
  --exec-abs-paths           Force absolute path names with external commands.
  --exec-rel-paths           Force relative path names with external commands.
  --from|-r VERSION          Select VERSION as source for the diff
  --internal|-i              Use internal diff logic
  --numstat                  Show only the number of lines delete and added
  --side-by-side|-y          Side-by-side diff
  --strip-trailing-cr        Strip trailing CR
  --tk                       Launch a Tcl/Tk GUI for display
  --to VERSION               Select VERSION as target for the diff
  --undo                     Diff against the "undo" buffer
  --unified                  Unified diff
  -v|--verbose               Output complete text of added or deleted files
  -w|--ignore-all-space      Ignore white space when comparing lines
  -W|--width <num>           Width of lines in side-by-side diff
  -Z|--ignore-trailing-space Ignore changes to end-of-line whitespace

hash-policy:

Usage: fossil hash-policy ?NEW-POLICY?

Query or set the hash policy for the current repository.  Available hash
policies are as follows:

  sha1              New artifact names are created using SHA1

  auto              New artifact names are created using SHA1, but
                    automatically change the policy to "sha3" when
                    any SHA3 artifact enters the repository.

  sha3              New artifact names are created using SHA3, but
                    older artifacts with SHA1 names may be reused.

  sha3-only         Use only SHA3 artifact names.  Do not reuse legacy
                    SHA1 names.

  shun-sha1         Shun any SHA1 artifacts received by sync operations
                    other than clones.  Older legacy SHA1 artifacts are
                    allowed during a clone.

The default hash policy for existing repositories is "auto", which will
immediately promote to "sha3" if the repository contains one or more
artifacts with SHA3 names.  The default hash policy for new repositories
is "shun-sha1".

help:

Usage: fossil help COMMAND
   or: fossil COMMAND --help

Display information on how to use COMMAND.  To display a list of
available commands use one of:

   fossil help              Show common commands
   fossil help -a|--all     Show both common and auxiliary commands
   fossil help -t|--test    Show test commands only
   fossil help -x|--aux     Show auxiliary commands only
   fossil help -w|--www     Show list of WWW pages

http:

Usage: fossil http ?REPOSITORY? ?OPTIONS?

Handle a single HTTP request appearing on stdin.  The resulting webpage
is delivered on stdout.  This method is used to launch an HTTP request
handler from inetd, for example.  The argument is the name of the
repository.

If REPOSITORY is a directory that contains one or more repositories,
either directly in REPOSITORY itself or in subdirectories, and
with names of the form "*.fossil" then a prefix of the URL pathname
selects from among the various repositories.  If the pathname does
not select a valid repository and the --notfound option is available,
then the server redirects (HTTP code 302) to the URL of --notfound.
When REPOSITORY is a directory, the pathname must contain only
alphanumerics, "_", "/", "-" and "." and no "-" may occur after a "/"
and every "." must be surrounded on both sides by alphanumerics or else
a 404 error is returned.  Static content files in the directory are
returned if they match comma-separate GLOB pattern specified by --files
and do not match "*.fossil*" and have a well-known suffix.

The --host option can be used to specify the hostname for the server.
The --https option indicates that the request came from HTTPS rather
than HTTP. If --nossl is given, then SSL connections will not be available,
thus also no redirecting from http: to https: will take place.

If the --localauth option is given, then automatic login is performed
for requests coming from localhost, if the "localauth" setting is not
enabled.

Options:
  --baseurl URL    base URL (useful with reverse proxies)
  --files GLOB     comma-separate glob patterns for static file to serve
  --localauth      enable automatic login for local connections
  --host NAME      specify hostname of the server
  --https          signal a request coming in via https
  --nojail         drop root privilege but do not enter the chroot jail
  --nossl          signal that no SSL connections are available
  --notfound URL   use URL as "HTTP 404, object not found" page.
  --repolist       If REPOSITORY is directory, URL "/" lists all repos
  --scgi           Interpret input as SCGI rather than HTTP
  --skin LABEL     Use override skin LABEL
  --th-trace       trace TH1 execution (for debugging purposes)
  --usepidkey      Use saved encryption key from parent process.  This is
                   only necessary when using SEE on Windows.

See also: cgi, server, winsrv

import:

Usage: fossil import ?--git? ?OPTIONS? NEW-REPOSITORY ?INPUT-FILE?
   or: fossil import --svn ?OPTIONS? NEW-REPOSITORY ?INPUT-FILE?

Read interchange format generated by another VCS and use it to
construct a new Fossil repository named by the NEW-REPOSITORY
argument.  If no input file is supplied the interchange format
data is read from standard input.

The following formats are currently understood by this command

  --git        Import from the git-fast-export file format (default)
               Options:
                 --import-marks  FILE Restore marks table from FILE
                 --export-marks  FILE Save marks table to FILE
                 --rename-master NAME Renames the master branch to NAME

  --svn        Import from the svnadmin-dump file format.  The default
               behaviour (unless overridden by --flat) is to treat 3
               folders in the SVN root as special, following the
               common layout of SVN repositories.  These are (by
               default) trunk/, branches/ and tags/.  The SVN --deltas
               format is supported but not required.
               Options:
                 --trunk FOLDER     Name of trunk folder
                 --branches FOLDER  Name of branches folder
                 --tags FOLDER      Name of tags folder
                 --base PATH        Path to project root in repository
                 --flat             The whole dump is a single branch
                 --rev-tags         Tag each revision, implied by -i
                 --no-rev-tags      Disables tagging effect of -i
                 --rename-rev PAT   Rev tag names, default "svn-rev-%"
                 --ignore-tree DIR  Ignores subtree rooted at DIR

Common Options:
  -i|--incremental     allow importing into an existing repository
  -f|--force           overwrite repository if already exists
  -q|--quiet           omit progress output
  --no-rebuild         skip the "rebuilding metadata" step
  --no-vacuum          skip the final VACUUM of the database file
  --rename-trunk NAME  use NAME as name of imported trunk branch
  --rename-branch PAT  rename all branch names using PAT pattern
  --rename-tag PAT     rename all tag names using PAT pattern

The --incremental option allows an existing repository to be extended
with new content.  The --rename-* options may be useful to avoid name
conflicts when using the --incremental option.

The argument to --rename-* contains one "%" character to be replaced
with the original name.  For example, "--rename-tag svn-%-tag" renames
the tag called "release" to "svn-release-tag".

--ignore-tree is useful for importing Subversion repositories which
move branches to subdirectories of "branches/deleted" instead of
deleting them.  It can be supplied multiple times if necessary.

See also: export

info:

Usage: fossil info ?VERSION | REPOSITORY_FILENAME? ?OPTIONS?

With no arguments, provide information about the current tree.
If an argument is specified, provide information about the object
in the repository of the current tree that the argument refers
to.  Or if the argument is the name of a repository, show
information about that repository.

If the argument is a repository name, then the --verbose option shows
known the check-out locations for that repository and all URLs used
to access the repository.  The --verbose is (currently) a no-op if
the argument is the name of a object within the repository.

Use the "finfo" command to get information about a specific
file in a checkout.

Options:

   -R|--repository FILE       Extract info from repository FILE
   -v|--verbose               Show extra information about repositories

See also: annotate, artifact, finfo, timeline

init:

Usage: fossil new ?OPTIONS? FILENAME
   or: fossil init ?OPTIONS? FILENAME

Create a repository for a new project in the file named FILENAME.
This command is distinct from "clone".  The "clone" command makes
a copy of an existing project.  This command starts a new project.

By default, your current login name is used to create the default
admin user. This can be overridden using the -A|--admin-user
parameter.

By default, all settings will be initialized to their default values.
This can be overridden using the --template parameter to specify a
repository file from which to copy the initial settings.  When a template
repository is used, almost all of the settings accessible from the setup
page, either directly or indirectly, will be copied.  Normal users and
their associated permissions will not be copied; however, the system
default users "anonymous", "nobody", "reader", "developer", and their
associated permissions will be copied.

Options:
   --template      FILE         Copy settings from repository file
   --admin-user|-A USERNAME     Select given USERNAME as admin user
   --date-override DATETIME     Use DATETIME as time of the initial check-in
   --sha1                       Use a initial hash policy of "sha1"

DATETIME may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in
year-month-day form, it may be truncated, the "T" may be replaced by
a space, and it may also name a timezone offset from UTC as "-HH:MM"
(westward) or "+HH:MM" (eastward). Either no timezone suffix or "Z"
means UTC.

See also: clone

leaves:

Usage: fossil leaves ?OPTIONS?

Find leaves of all branches.  By default show only open leaves.
The -a|--all flag causes all leaves (closed and open) to be shown.
The -c|--closed flag shows only closed leaves.

The --recompute flag causes the content of the "leaf" table in the
repository database to be recomputed.

Options:
  -a|--all         show ALL leaves
  --bybranch       order output by branch name
  -c|--closed      show only closed leaves
  -m|--multiple    show only cases with multiple leaves on a single branch
  --recompute      recompute the "leaf" table in the repository DB
  -W|--width <num> Width of lines (default is to auto-detect). Must be
                   >39 or 0 (= no limit, resulting in a single line per
                   entry).

See also: descendants, finfo, info, branch

ls:

Usage: fossil ls ?OPTIONS? ?PATHS ...?

List all files in the current checkout.  If PATHS is included, only the
named files (or their children if directories) are shown.

The ls command is essentially two related commands in one, depending on
whether or not the -r option is given.  -r selects a specific check-in
version to list, in which case -R can be used to select the repository.
The fine behavior of the --age, -v, and -t options is altered by the -r
option as well, as explained below.

The --age option displays file commit times.  Like -r, --age has the
side effect of making -t sort by commit time, not modification time.

The -v option provides extra information about each file.  Without -r,
-v displays the change status, in the manner of the changes command.
With -r, -v shows the commit time and size of the checked-in files.

The -t option changes the sort order.  Without -t, files are sorted by
path and name (case insensitive sort if -r).  If neither --age nor -r
are used, -t sorts by modification time, otherwise by commit time.

Options:
  --age                 Show when each file was committed.
  -v|--verbose          Provide extra information about each file.
  -t                    Sort output in time order.
  -r VERSION            The specific check-in to list.
  -R|--repository FILE  Extract info from repository FILE.

See also: changes, extras, status

md5sum:

Usage: fossil md5sum FILES....

Compute an MD5 checksum of all files named on the command-line.
If a file is named "-" then content is read from standard input.

merge:

Usage: fossil merge ?OPTIONS? ?VERSION?

The argument VERSION is a version that should be merged into the
current checkout.  All changes from VERSION back to the nearest
common ancestor are merged.  Except, if either of the --cherrypick or
--backout options are used only the changes associated with the
single check-in VERSION are merged.  The --backout option causes
the changes associated with VERSION to be removed from the current
checkout rather than added.

If the VERSION argument is omitted, then Fossil attempts to find
a recent fork on the current branch to merge.

Only file content is merged.  The result continues to use the
file and directory names from the current checkout even if those
names might have been changed in the branch being merged in.

Other options:

  --baseline BASELINE     Use BASELINE as the "pivot" of the merge instead
                          of the nearest common ancestor.  This allows
                          a sequence of changes in a branch to be merged
                          without having to merge the entire branch.

  --binary GLOBPATTERN    Treat files that match GLOBPATTERN as binary
                          and do not try to merge parallel changes.  This
                          option overrides the "binary-glob" setting.

  --case-sensitive BOOL   Override the case-sensitive setting.  If false,
                          files whose names differ only in case are taken
                          to be the same file.

  -f|--force              Force the merge even if it would be a no-op.

  --force-missing         Force the merge even if there is missing content.

  --integrate             Merged branch will be closed when committing.

  --no-dir-symlinks       Disables support for directory symlinks.

  -n|--dry-run            If given, display instead of run actions

  -v|--verbose            Show additional details of the merge

mv:

Usage: fossil mv|rename OLDNAME NEWNAME
   or: fossil mv|rename OLDNAME... DIR

Move or rename one or more files or directories within the repository tree.
You can either rename a file or directory or move it to another subdirectory.

The 'mv' command does NOT normally rename or move the files on disk.
This command merely records the fact that file names have changed so
that appropriate notations can be made at the next commit/check-in.
However, the default behavior of this command may be overridden via
command line options listed below and/or the 'mv-rm-files' setting.

The 'rename' command never renames or moves files on disk, even when the
command line options and/or the 'mv-rm-files' setting would otherwise
require it to do so.

WARNING: If the "--hard" option is specified -OR- the "mv-rm-files"
         setting is non-zero, files WILL BE renamed or moved on disk
         as well.  This does NOT apply to the 'rename' command.

Options:
  --soft                  Skip moving files within the checkout.
                          This supersedes the --hard option.
  --hard                  Move files within the checkout.
  --case-sensitive <BOOL> Override the case-sensitive setting.
  -n|--dry-run            If given, display instead of run actions.
  --no-dir-symlinks       Disables support for directory symlinks.

See also: changes, status

new:

Usage: fossil new ?OPTIONS? FILENAME
   or: fossil init ?OPTIONS? FILENAME

Create a repository for a new project in the file named FILENAME.
This command is distinct from "clone".  The "clone" command makes
a copy of an existing project.  This command starts a new project.

By default, your current login name is used to create the default
admin user. This can be overridden using the -A|--admin-user
parameter.

By default, all settings will be initialized to their default values.
This can be overridden using the --template parameter to specify a
repository file from which to copy the initial settings.  When a template
repository is used, almost all of the settings accessible from the setup
page, either directly or indirectly, will be copied.  Normal users and
their associated permissions will not be copied; however, the system
default users "anonymous", "nobody", "reader", "developer", and their
associated permissions will be copied.

Options:
   --template      FILE         Copy settings from repository file
   --admin-user|-A USERNAME     Select given USERNAME as admin user
   --date-override DATETIME     Use DATETIME as time of the initial check-in
   --sha1                       Use a initial hash policy of "sha1"

DATETIME may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in
year-month-day form, it may be truncated, the "T" may be replaced by
a space, and it may also name a timezone offset from UTC as "-HH:MM"
(westward) or "+HH:MM" (eastward). Either no timezone suffix or "Z"
means UTC.

See also: clone

open:

Usage: fossil open FILENAME ?VERSION? ?OPTIONS?

Open a connection to the local repository in FILENAME.  A checkout
for the repository is created with its root at the working directory.
If VERSION is specified then that version is checked out.  Otherwise
the latest version is checked out.  No files other than "manifest"
and "manifest.uuid" are modified if the --keep option is present.

Options:
  --empty           Initialize checkout as being empty, but still connected
                    with the local repository. If you commit this checkout,
                    it will become a new "initial" commit in the repository.
  --keep            Only modify the manifest and manifest.uuid files
  --nested          Allow opening a repository inside an opened checkout
  --force-missing   Force opening a repository with missing content

See also: close

praise:

Usage: fossil (annotate|blame|praise) ?OPTIONS? FILENAME

Output the text of a file with markings to show when each line of
the file was last modified.  The "annotate" command shows line numbers
and omits the username.  The "blame" and "praise" commands show the user
who made each check-in and omits the line number.

Options:
  --filevers                  Show file version numbers rather than
                              check-in versions
  -l|--log                    List all versions analyzed
  -n|--limit N                Only look backwards in time by N versions
  -w|--ignore-all-space       Ignore white space when comparing lines
  -Z|--ignore-trailing-space  Ignore whitespace at line end

See also: info, finfo, timeline

publish:

Usage: fossil publish ?--only? TAGS...

Cause artifacts identified by TAGS... to be published (made non-private).
This can be used (for example) to convert a private branch into a public
branch, or to publish a bundle that was imported privately.

If any of TAGS names a branch, then all check-ins on the most recent
instance of that branch are included, not just the most recent check-in.

If any of TAGS name check-ins then all files and tags associated with
those check-ins are also published automatically.  Except if the --only
option is used, then only the specific artifacts identified by TAGS
are published.

If a TAG is already public, this command is a harmless no-op.

pull:

Usage: fossil pull ?URL? ?options?

Pull all sharable changes from a remote repository into the local repository.
Sharable changes include public check-ins, and wiki, ticket, and tech-note
edits.  Add the --private option to pull private branches.  Use the
"configuration pull" command to pull website configuration details.

If URL is not specified, then the URL from the most recent clone, push,
pull, remote-url, or sync command is used.  See "fossil help clone" for
details on the URL formats.

Options:

  -B|--httpauth USER:PASS    Credentials for the simple HTTP auth protocol,
                             if required by the remote website
  --from-parent-project      Pull content from the parent project
  --ipv4                     Use only IPv4, not IPv6
  --once                     Do not remember URL for subsequent syncs
  --proxy PROXY              Use the specified HTTP proxy
  --private                  Pull private branches too
  -R|--repository REPO       Local repository to pull into
  --ssl-identity FILE        Local SSL credentials, if requested by remote
  --ssh-command SSH          Use SSH as the "ssh" command
  -v|--verbose               Additional (debugging) output
  --verily                   Exchange extra information with the remote
                             to ensure no content is overlooked

See also: clone, config pull, push, remote-url, sync

purge:

The purge command removes content from a repository and stores that content
in a "graveyard".  The graveyard exists so that content can be recovered
using the "fossil purge undo" command.  The "fossil purge obliterate"
command empties the graveyard, making the content unrecoverable.

==== WARNING: This command can potentially destroy historical data and ====
==== leave your repository in a goofy state. Know what you are doing!  ====
==== Make a backup of your repository before using this command!       ====

==== FURTHER WARNING: This command is a work-in-progress and may yet   ====
==== contain bugs.                                                     ====

  fossil purge artifacts UUID... ?OPTIONS?

     Move arbitrary artifacts identified by the UUID list into the
     graveyard.

  fossil purge cat UUID...

     Write the content of one or more artifacts in the graveyard onto
     standard output.

  fossil purge checkins TAGS... ?OPTIONS?

     Move the check-ins or branches identified by TAGS and all of
     their descendants out of the repository and into the graveyard.
     If TAGS includes a branch name then it means all the check-ins
     on the most recent occurrence of that branch.

  fossil purge files NAME ... ?OPTIONS?

     Move all instances of files called NAME into the graveyard.
     NAME should be the name of the file relative to the root of the
     repository.  If NAME is a directory, then all files within that
     directory are moved.

  fossil purge list|ls ?-l?

     Show the graveyard of prior purges.  The -l option gives more
     detail in the output.

  fossil purge obliterate ID... ?--force?

     Remove one or more purge events from the graveyard.  Once a purge
     event is obliterated, it can no longer be undone.  The --force
     option suppresses the confirmation prompt.

  fossil purge tickets NAME ... ?OPTIONS?

     TBD...

  fossil purge undo ID

     Restore the content previously removed by purge ID.

  fossil purge wiki NAME ... ?OPTIONS?

     TBD...

COMMON OPTIONS:

  --explain         Make no changes, but show what would happen.
  --dry-run         An alias for --explain

SUMMARY:
  fossil purge artifacts UUID.. [OPTIONS]
  fossil purge cat UUID...
  fossil purge checkins TAGS... [OPTIONS]
  fossil purge files FILENAME... [OPTIONS]
  fossil purge list
  fossil purge obliterate ID...
  fossil purge tickets NAME... [OPTIONS]
  fossil purge undo ID
  fossil purge wiki NAME... [OPTIONS]

push:

Usage: fossil push ?URL? ?options?

Push all sharable changes from the local repository to a remote repository.
Sharable changes include public check-ins, and wiki, ticket, and tech-note
edits.  Use --private to also push private branches.  Use the
"configuration push" command to push website configuration details.

If URL is not specified, then the URL from the most recent clone, push,
pull, remote-url, or sync command is used.  See "fossil help clone" for
details on the URL formats.

Options:

  -B|--httpauth USER:PASS    Credentials for the simple HTTP auth protocol,
                             if required by the remote website
  --ipv4                     Use only IPv4, not IPv6
  --once                     Do not remember URL for subsequent syncs
  --proxy PROXY              Use the specified HTTP proxy
  --private                  Push private branches too
  -R|--repository REPO       Local repository to push from
  --ssl-identity FILE        Local SSL credentials, if requested by remote
  --ssh-command SSH          Use SSH as the "ssh" command
  -v|--verbose               Additional (debugging) output
  --verily                   Exchange extra information with the remote
                             to ensure no content is overlooked

See also: clone, config push, pull, remote-url, sync

rebuild:

Usage: fossil rebuild ?REPOSITORY? ?OPTIONS?

Reconstruct the named repository database from the core
records.  Run this command after updating the fossil
executable in a way that changes the database schema.

Options:
  --analyze         Run ANALYZE on the database after rebuilding
  --cluster         Compute clusters for unclustered artifacts
  --compress        Strive to make the database as small as possible
  --compress-only   Skip the rebuilding step. Do --compress only
  --deanalyze       Remove ANALYZE tables from the database
  --force           Force the rebuild to complete even if errors are seen
  --ifneeded        Only do the rebuild if it would change the schema version
  --index           Always add in the full-text search index
  --noverify        Skip the verification of changes to the BLOB table
  --noindex         Always omit the full-text search index
  --pagesize N      Set the database pagesize to N. (512..65536 and power of 2)
  --quiet           Only show output if there are errors
  --randomize       Scan artifacts in a random order
  --stats           Show artifact statistics after rebuilding
  --vacuum          Run VACUUM on the database after rebuilding
  --wal             Set Write-Ahead-Log journalling mode on the database

See also: deconstruct, reconstruct

reconstruct:

Usage: fossil reconstruct FILENAME DIRECTORY

This command studies the artifacts (files) in DIRECTORY and
reconstructs the fossil record from them. It places the new
fossil repository in FILENAME. Subdirectories are read, files
with leading '.' in the filename are ignored.

See also: deconstruct, rebuild

redo:

Usage: fossil undo ?OPTIONS? ?FILENAME...?
   or: fossil redo ?OPTIONS? ?FILENAME...?

Undo the changes to the working checkout caused by the most recent
of the following operations:

   (1) fossil update             (5) fossil stash apply
   (2) fossil merge              (6) fossil stash drop
   (3) fossil revert             (7) fossil stash goto
   (4) fossil stash pop

The "fossil clean" operation can also be undone; however, this is
currently limited to files that are less than 10MiB in size.

If FILENAME is specified then restore the content of the named
file(s) but otherwise leave the update or merge or revert in effect.
The redo command undoes the effect of the most recent undo.

If the -n|--dry-run option is present, no changes are made and instead
the undo or redo command explains what actions the undo or redo would
have done had the -n|--dry-run been omitted.

A single level of undo/redo is supported.  The undo/redo stack
is cleared by the commit and checkout commands.

Options:
  -n|--dry-run   do not make changes but show what would be done

See also: commit, status

remote-url:

Usage: fossil remote-url ?URL|off?

Query and/or change the default server URL used by the "pull", "push",
and "sync" commands.

The remote-url is set automatically by a "clone" command or by any
"sync", "push", or "pull" command that specifies an explicit URL.
The default remote-url is used by auto-syncing and by "sync", "push",
"pull" that omit the server URL.

See "fossil help clone" for further information about URL formats

See also: clone, push, pull, sync

rename:

Usage: fossil mv|rename OLDNAME NEWNAME
   or: fossil mv|rename OLDNAME... DIR

Move or rename one or more files or directories within the repository tree.
You can either rename a file or directory or move it to another subdirectory.

The 'mv' command does NOT normally rename or move the files on disk.
This command merely records the fact that file names have changed so
that appropriate notations can be made at the next commit/check-in.
However, the default behavior of this command may be overridden via
command line options listed below and/or the 'mv-rm-files' setting.

The 'rename' command never renames or moves files on disk, even when the
command line options and/or the 'mv-rm-files' setting would otherwise
require it to do so.

WARNING: If the "--hard" option is specified -OR- the "mv-rm-files"
         setting is non-zero, files WILL BE renamed or moved on disk
         as well.  This does NOT apply to the 'rename' command.

Options:
  --soft                  Skip moving files within the checkout.
                          This supersedes the --hard option.
  --hard                  Move files within the checkout.
  --case-sensitive <BOOL> Override the case-sensitive setting.
  -n|--dry-run            If given, display instead of run actions.
  --no-dir-symlinks       Disables support for directory symlinks.

See also: changes, status

reparent:

Usage: fossil reparent [OPTIONS] CHECK-IN PARENT ...

Create a "parent" tag that causes CHECK-IN to be interpreted as a
child of PARENT.  If multiple PARENTs are listed, then the first is
the primary parent and others are merge ancestors.

This is an experts-only command.  It is used to patch up a repository
that has been damaged by a shun or that has been pieced together from
two or more separate repositories.  You should never need to reparent
during normal operations.

Reparenting is accomplished by adding a parent tag.  So to undo the
reparenting operation, simply delete the tag.

   --test           Make database entries but do not add the tag artifact.
                    So the reparent operation will be undone by the next
                    "fossil rebuild" command.
   --dryrun | -n    Print the tag that would have been created but do not
                    actually change the database in any way.

revert:

Usage: fossil revert ?-r REVISION? ?FILE ...?

Revert to the current repository version of FILE, or to
the version associated with baseline REVISION if the -r flag
appears.

If FILE was part of a rename operation, both the original file
and the renamed file are reverted.

Revert all files if no file name is provided.

If a file is reverted accidently, it can be restored using
the "fossil undo" command.

Options:
  -r REVISION    revert given FILE(s) back to given REVISION

See also: redo, undo, update

rm:

Usage: fossil rm|delete|forget FILE1 ?FILE2 ...?

Remove one or more files or directories from the repository.

The 'rm' and 'delete' commands do NOT normally remove the files from
disk.  They just mark the files as no longer being part of the project.
In other words, future changes to the named files will not be versioned.
However, the default behavior of this command may be overridden via the
command line options listed below and/or the 'mv-rm-files' setting.

The 'forget' command never removes files from disk, even when the command
line options and/or the 'mv-rm-files' setting would otherwise require it
to do so.

WARNING: If the "--hard" option is specified -OR- the "mv-rm-files"
         setting is non-zero, files WILL BE removed from disk as well.
         This does NOT apply to the 'forget' command.

Options:
  --soft                  Skip removing files from the checkout.
                          This supersedes the --hard option.
  --hard                  Remove files from the checkout.
  --case-sensitive <BOOL> Override the case-sensitive setting.
  -n|--dry-run            If given, display instead of run actions.
  --no-dir-symlinks       Disables support for directory symlinks.

See also: addremove, add

rss:

Usage: fossil rss ?OPTIONS?

The CLI variant of the /timeline.rss page, this produces an RSS
feed of the timeline to stdout. Options:

-type|y FLAG
   may be: all (default), ci (show check-ins only), t (show tickets only),
   w (show wiki only).

-limit|n LIMIT
  The maximum number of items to show.

-tkt UUID
   Filters for only those events for the specified ticket.

-tag TAG
   filters for a tag

-wiki NAME
  Filters on a specific wiki page.

Only one of -tkt, -tag, or -wiki may be used.

-name FILENAME
  filters for a specific file. This may be combined with one of the other
  filters (useful for looking at a specific branch).

-url STRING
  Sets the RSS feed's root URL to the given string. The default is
"URL-PLACEHOLDER" (without quotes).

scrub:

Usage: fossil scrub ?OPTIONS? ?REPOSITORY?

The command removes sensitive information (such as passwords) from a
repository so that the repository can be sent to an untrusted reader.

By default, only passwords are removed.  However, if the --verily option
is added, then private branches, concealed email addresses, IP
addresses of correspondents, and similar privacy-sensitive fields
are also purged.  If the --private option is used, then only private
branches are removed and all other information is left intact.

This command permanently deletes the scrubbed information. THE EFFECTS
OF THIS COMMAND ARE IRREVERSIBLE. USE WITH CAUTION!

The user is prompted to confirm the scrub unless the --force option
is used.

Options:
  --force     do not prompt for confirmation
  --private   only private branches are removed from the repository
  --verily    scrub real thoroughly (see above)

search:

Usage: fossil search [-all|-a] [-limit|-n #] [-width|-W #] pattern...

Search for timeline entries matching all words provided on the
command line. Whole-word matches scope more highly than partial
matches.

Outputs, by default, some top-N fraction of the results. The -all
option can be used to output all matches, regardless of their search
score.  The -limit option can be used to limit the number of entries
returned.  The -width option can be used to set the output width used
when printing matches.

Options:

    -a|--all          Output all matches, not just best matches.
    -n|--limit N      Limit output to N matches.
    -W|--width WIDTH  Set display width to WIDTH columns, 0 for
                      unlimited. Defaults the terminal's width.

server:

Usage: fossil server ?OPTIONS? ?REPOSITORY?
   or: fossil ui ?OPTIONS? ?REPOSITORY?

Open a socket and begin listening and responding to HTTP requests on
TCP port 8080, or on any other TCP port defined by the -P or
--port option.  The optional argument is the name of the repository.
The repository argument may be omitted if the working directory is
within an open checkout.

The "ui" command automatically starts a web browser after initializing
the web server.  The "ui" command also binds to 127.0.0.1 and so will
only process HTTP traffic from the local machine.

The REPOSITORY can be a directory (aka folder) that contains one or
more repositories with names ending in ".fossil".  In this case, a
prefix of the URL pathname is used to search the directory for an
appropriate repository.  To thwart mischief, the pathname in the URL must
contain only alphanumerics, "_", "/", "-", and ".", and no "-" may
occur after "/", and every "." must be surrounded on both sides by
alphanumerics.  Any pathname that does not satisfy these constraints
results in a 404 error.  Files in REPOSITORY that match the comma-separated
list of glob patterns given by --files and that have known suffixes
such as ".txt" or ".html" or ".jpeg" and do not match the pattern
"*.fossil*" will be served as static content.  With the "ui" command,
the REPOSITORY can only be a directory if the --notfound option is
also present.

For the special case REPOSITORY name of "/", the list global configuration
database is consulted for a list of all known repositories.  The --repolist
option is implied by this special case.  See also the "fossil all ui"
command.

By default, the "ui" command provides full administrative access without
having to log in.  This can be disabled by turning off the "localauth"
setting.  Automatic login for the "server" command is available if the
--localauth option is present and the "localauth" setting is off and the
connection is from localhost.  The "ui" command also enables --repolist
by default.

Options:
  --baseurl URL       Use URL as the base (useful for reverse proxies)
  --create            Create a new REPOSITORY if it does not already exist
  --page PAGE         Start "ui" on PAGE.  ex: --page "timeline?y=ci"
  --files GLOBLIST    Comma-separated list of glob patterns for static files
  --localauth         enable automatic login for requests from localhost
  --localhost         listen on 127.0.0.1 only (always true for "ui")
  --https             signal a request coming in via https
  --nojail            Drop root privileges but do not enter the chroot jail
  --nossl             signal that no SSL connections are available
  --notfound URL      Redirect
  -P|--port TCPPORT   listen to request on port TCPPORT
  --th-trace          trace TH1 execution (for debugging purposes)
  --repolist          If REPOSITORY is dir, URL "/" lists repos.
  --scgi              Accept SCGI rather than HTTP
  --skin LABEL        Use override skin LABEL
  --usepidkey         Use saved encryption key from parent process.  This is
                      only necessary when using SEE on Windows.

See also: cgi, http, winsrv

settings:

Usage: fossil settings ?PROPERTY? ?VALUE? ?OPTIONS?
   or: fossil unset PROPERTY ?OPTIONS?

The "settings" command with no arguments lists all properties and their
values.  With just a property name it shows the value of that property.
With a value argument it changes the property for the current repository.

Settings marked as versionable are overridden by the contents of the
file named .fossil-settings/PROPERTY in the check-out root, if that
file exists.

The "unset" command clears a property setting.


   access-log       If enabled, record successful and failed login attempts
                    in the "accesslog" table.  Default: off

   admin-log        If enabled, record configuration changes in the
                    "admin_log" table.  Default: off

   allow-symlinks   If enabled, don't follow symlinks, and instead treat
    (versionable)   them as symlinks on Unix. Has no effect on Windows
                    (existing links in repository created on Unix become
                    plain-text files with link destination path inside).
                    Default: on (Unix), off (Windows)

   auto-captcha     If enabled, the Login page provides a button to
                    fill in the captcha password.  Default: on

   auto-hyperlink   Use javascript to enable hyperlinks on web pages
                    for all users (regardless of the "h" privilege) if the
                    User-Agent string in the HTTP header look like it came
                    from real person, not a spider or bot.  Default: on

   auto-shun        If enabled, automatically pull the shunning list
                    from a server to which the client autosyncs.
                    Default: on

   autosync         If enabled, automatically pull prior to commit
                    or update and automatically push after commit or
                    tag or branch creation.  If the value is "pullonly"
                    then only pull operations occur automatically.
                    Default: on

   autosync-tries   If autosync is enabled setting this to a value greater
                    than zero will cause autosync to try no more than this
                    number of attempts if there is a sync failure.
                    Default: 1

   binary-glob      The VALUE is a comma or newline-separated list of
    (versionable)   GLOB patterns that should be treated as binary files
                    for committing and merging purposes.  Example: *.jpg

   case-sensitive   If TRUE, the files whose names differ only in case
                    are considered distinct.  If FALSE files whose names
                    differ only in case are the same file.  Defaults to
                    TRUE for unix and FALSE for Cygwin, Mac and Windows.

   clean-glob       The VALUE is a comma or newline-separated list of GLOB
    (versionable)   patterns specifying files that the "clean" command will
                    delete without prompting or allowing undo.
                    Example: *.a,*.lib,*.o

   clearsign        When enabled, fossil will attempt to sign all commits
                    with gpg.  When disabled (the default), commits will
                    be unsigned.  Default: off

   crlf-glob        A comma or newline-separated list of GLOB patterns for
    (versionable)   text files in which it is ok to have CR, CR+LF or mixed
                    line endings. Set to "*" to disable CR+LF checking.
                    The crnl-glob setting is a compatibility alias.

   default-perms    Permissions given automatically to new users.  For more
                    information on permissions see Users page in Server
                    Administration of the HTTP UI. Default: u.

   diff-binary      If TRUE (the default), permit files that may be binary
                    or that match the "binary-glob" setting to be used with
                    external diff programs.  If FALSE, skip these files.

   diff-command     External command to run when performing a diff.
                    If undefined, the internal text diff will be used.

   dont-push        Prevent this repository from pushing from client to
                    server.  Useful when setting up a private branch.

   dotfiles         Include --dotfiles option for all compatible commands.
    (versionable)

   editor           Text editor command used for check-in comments.

   empty-dirs       A comma or newline-separated list of pathnames. On
    (versionable)   update and checkout commands, if no file or directory
                    exists with that name, an empty directory will be
                    created.

   encoding-glob    The VALUE is a comma or newline-separated list of GLOB
    (versionable)   patterns specifying files that the "commit" command will
                    ignore when issuing warnings about text files that may
                    use another encoding than ASCII or UTF-8. Set to "*"
                    to disable encoding checking.

   exec-rel-paths   When executing certain external commands (e.g. diff and
                    gdiff), use relative paths.

   gdiff-command    External command to run when performing a graphical
                    diff. If undefined, text diff will be used.

   gmerge-command   A graphical merge conflict resolver command operating
                    on four files.
                    Ex: kdiff3 "%baseline" "%original" "%merge" -o "%output"
                    Ex: xxdiff "%original" "%baseline" "%merge" -M "%output"
                    Ex: meld "%baseline" "%original" "%merge" "%output"

   hash-digits      The number of hexadecimal digits of the SHA1 hash to
                    display.  (Default: 10; Minimum: 6)

   http-port        The TCP/IP port number to use by the "server"
                    and "ui" commands.  Default: 8080

   https-login      Send login credentials using HTTPS instead of HTTP
                    even if the login page request came via HTTP.

   ignore-glob      The VALUE is a comma or newline-separated list of GLOB
    (versionable)   patterns specifying files that the "add", "addremove",
                    "clean", and "extra" commands will ignore.
                    Example:  *.log customCode.c notes.txt

   keep-glob        The VALUE is a comma or newline-separated list of GLOB
    (versionable)   patterns specifying files that the "clean" command will
                    keep.

   localauth        If enabled, require that HTTP connections from
                    127.0.0.1 be authenticated by password.  If
                    false, all HTTP requests from localhost have
                    unrestricted access to the repository.

   main-branch      The primary branch for the project.  Default: trunk

   manifest         If set to a true boolean value, automatically create
    (versionable)   files "manifest" and "manifest.uuid" in every checkout.
                    Optionally use combinations of characters 'r'
                    for "manifest", 'u' for "manifest.uuid" and 't' for
                    "manifest.tags".  The SQLite and Fossil repositories
                    both require manifests.  Default: off.

   max-loadavg      Some CPU-intensive web pages (ex: /zip, /tarball, /blame)
                    are disallowed if the system load average goes above this
                    value.  "0.0" means no limit.  This only works on unix.
                    Only local settings of this value make a difference since
                    when running as a web-server, Fossil does not open the
                    global configuration database.

   max-upload       A limit on the size of uplink HTTP requests.  The
                    default is 250000 bytes.

   mtime-changes    Use file modification times (mtimes) to detect when
                    files have been modified.  (Default "on".)

   mv-rm-files      If enabled (and Fossil was compiled with legacy "mv/rm"
                    support), the "mv" and "rename" commands will also move
                    the associated files within the checkout -AND- the "rm"
                    and "delete" commands will also remove the associated
                    files from within the checkout.  Default: off.

   pgp-command      Command used to clear-sign manifests at check-in.
                    The default is "gpg --clearsign -o ".

   proxy            URL of the HTTP proxy.  If undefined or "off" then
                    the "http_proxy" environment variable is consulted.
                    If the http_proxy environment variable is undefined
                    then a direct HTTP connection is used.

   relative-paths   When showing changes and extras, report paths relative
                    to the current working directory.  Default: "on"

   repo-cksum       Compute checksums over all files in each checkout
                    as a double-check of correctness.  Defaults to "on".
                    Disable on large repositories for a performance
                    improvement.

   self-register    Allow users to register themselves through the HTTP UI.
                    This is useful if you want to see other names than
                    "Anonymous" in e.g. ticketing system. On the other hand
                    users can not be deleted. Default: off.

   ssh-command      Command used to talk to a remote machine with
                    the "ssh://" protocol.

   ssl-ca-location  The full pathname to a file containing PEM encoded
                    CA root certificates, or a directory of certificates
                    with filenames formed from the certificate hashes as
                    required by OpenSSL.
                    If set, this will override the OS default list of
                    OpenSSL CAs. If unset, the default list will be used.
                    Some platforms may add additional certificates.
                    Checking your platform behaviour is required if the
                    exact contents of the CA root is critical for your
                    application.

   ssl-identity     The full pathname to a file containing a certificate
                    and private key in PEM format. Create by concatenating
                    the certificate and private key files.
                    This identity will be presented to SSL servers to
                    authenticate this client, in addition to the normal
                    password authentication.

   tcl              If enabled (and Fossil was compiled with Tcl support),
                    Tcl integration commands will be added to the TH1
                    interpreter, allowing arbitrary Tcl expressions and
                    scripts to be evaluated from TH1.  Additionally, the Tcl
                    interpreter will be able to evaluate arbitrary TH1
                    expressions and scripts. Default: off.

   tcl-setup        This is the setup script to be evaluated after creating
    (versionable)   and initializing the Tcl interpreter.  By default, this
                    is empty and no extra setup is performed.

   th1-docs         WARNING: If enabled (and Fossil was compiled with TH1
                    support for embedded documentation files), this allows
                    embedded documentation files to contain arbitrary TH1
                    scripts that are evaluated on the server.  If native
                    Tcl integration is also enabled, this setting has the
                    potential to allow anybody with check-in privileges to
                    do almost anything that the associated operating system
                    user account could do.  Extreme caution should be used
                    when enabling this setting.  Default: off.

   th1-hooks        If enabled (and Fossil was compiled with support for TH1
                    hooks), special TH1 commands will be called before and
                    after any Fossil command or web page. Default: off.

   th1-setup        This is the setup script to be evaluated after creating
    (versionable)   and initializing the TH1 interpreter.  By default, this
                    is empty and no extra setup is performed.

   th1-uri-regexp   Specify which URI's are allowed in HTTP requests from
    (versionable)   TH1 scripts.  If empty, no HTTP requests are allowed
                    whatsoever.  The default is an empty string.

   uv-sync          If true, automatically send unversioned files as part
                    of a "fossil clone" or "fossil sync" command.  The
                    default is false, in which case the -u option is
                    needed to clone or sync unversioned files.

   web-browser      A shell command used to launch your preferred
                    web browser when given a URL as an argument.
                    Defaults to "start" on windows, "open" on Mac,
                    and "firefox" on Unix.

Options:
  --global   set or unset the given property globally instead of
             setting or unsetting it for the open repository only.

  --exact    only consider exact name matches.

See also: configuration

sha1sum:

Usage: fossil sha1sum FILE...

Compute an SHA1 checksum of all files named on the command-line.
If a file is named "-" then take its content from standard input.

sha3sum:

Usage: fossil sha3sum FILE...

Compute an SHA3 checksum of all files named on the command-line.
If a file is named "-" then take its content from standard input.

To be clear:  The official NIST FIPS-202 implementation of SHA3
with the added 01 padding is used, not the original Keccak submission.

Options:

   --224        Compute a SHA3-224 hash
   --256        Compute a SHA3-256 hash (the default)
   --384        Compute a SHA3-384 hash
   --512        Compute a SHA3-512 hash
   --size N     An N-bit hash.  N must be a multiple of 32 between 128
                and 512.

shell:

Usage: fossil shell

Prompt for lines of input from stdin.  Parse each line and evaluate
it as a separate fossil command, in a child process.  The initial
"fossil" is omitted from each line.

This command only works on unix-like platforms that support fork().
It is non-functional on Windows.

sqlite3:

Usage: fossil sql ?OPTIONS?

Run the standalone sqlite3 command-line shell on DATABASE with SHELL_OPTS.
If DATABASE is omitted, then the repository that serves the working
directory is opened.  See https://www.sqlite.org/cli.html for additional
information.

Options:

   --no-repository           Skip opening the repository database.

   -R REPOSITORY             Use REPOSITORY as the repository database

WARNING:  Careless use of this command can corrupt a Fossil repository
in ways that are unrecoverable.  Be sure you know what you are doing before
running any SQL commands that modify the repository database.

The following extensions to the usual SQLite commands are provided:

   content(X)                Return the content of artifact X.  X can be an
                             artifact hash or prefix or a tag.

   compress(X)               Compress text X.

   decompress(X)             Decompress text X.  Undoes the work of
                             compress(X).

   checkin_mtime(X,Y)        Return the mtime for the file Y (a BLOB.RID)
                             found in check-in X (another BLOB.RID value).

   symbolic_name_to_rid(X)   Return the BLOB.RID corresponding to symbolic
                             name X.

   now()                     Return the number of seconds since 1970.

   REGEXP                    The REGEXP operator works, unlike in
                             standard SQLite.

   files_of_checkin(X)       A table-valued function that returns info on
                             all files contained in check-in X.  Example:
                               SELECT * FROM files_of_checkin('trunk');

stash:

Usage: fossil stash SUBCOMMAND ARGS...

 fossil stash
 fossil stash save ?-m|--comment COMMENT? ?FILES...?
 fossil stash snapshot ?-m|--comment COMMENT? ?FILES...?

    Save the current changes in the working tree as a new stash.
    Then revert the changes back to the last check-in.  If FILES
    are listed, then only stash and revert the named files.  The
    "save" verb can be omitted if and only if there are no other
    arguments.  The "snapshot" verb works the same as "save" but
    omits the revert, keeping the checkout unchanged.

 fossil stash list|ls ?-v|--verbose? ?-W|--width <num>?

    List all changes sets currently stashed.  Show information about
    individual files in each changeset if -v or --verbose is used.

 fossil stash show|cat ?STASHID? ?DIFF-OPTIONS?
 fossil stash gshow|gcat ?STASHID? ?DIFF-OPTIONS?

    Show the contents of a stash as a diff against it's baseline.
    With gshow and gcat, gdiff-command is used instead of internal
    diff logic.

 fossil stash pop
 fossil stash apply ?STASHID?

    Apply STASHID or the most recently create stash to the current
    working checkout.  The "pop" command deletes that changeset from
    the stash after applying it but the "apply" command retains the
    changeset.

 fossil stash goto ?STASHID?

    Update to the baseline checkout for STASHID then apply the
    changes of STASHID.  Keep STASHID so that it can be reused
    This command is undoable.

 fossil stash drop|rm ?STASHID? ?-a|--all?

    Forget everything about STASHID.  Forget the whole stash if the
    -a|--all flag is used.  Individual drops are undoable but -a|--all
    is not.

 fossil stash diff ?STASHID? ?DIFF-OPTIONS?
 fossil stash gdiff ?STASHID? ?DIFF-OPTIONS?

    Show diffs of the current working directory and what that
    directory would be if STASHID were applied. With gdiff,
    gdiff-command is used instead of internal diff logic.

SUMMARY:
 fossil stash
 fossil stash save ?-m|--comment COMMENT? ?FILES...?
 fossil stash snapshot ?-m|--comment COMMENT? ?FILES...?
 fossil stash list|ls ?-v|--verbose? ?-W|--width <num>?
 fossil stash show|cat ?STASHID? ?DIFF-OPTIONS?
 fossil stash gshow|gcat ?STASHID? ?DIFF-OPTIONS?
 fossil stash pop
 fossil stash apply|goto ?STASHID?
 fossil stash drop|rm ?STASHID? ?-a|--all?
 fossil stash diff ?STASHID? ?DIFF-OPTIONS?
 fossil stash gdiff ?STASHID? ?DIFF-OPTIONS?

status:

Usage: fossil changes|status ?OPTIONS? ?PATHS ...?

Report the change status of files in the current checkout.  If one or
more PATHS are specified, only changes among the named files and
directories are reported.  Directories are searched recursively.

The status command is similar to the changes command, except it lacks
several of the options supported by changes and it has its own header
and footer information.  The header information is a subset of that
shown by the info command, and the footer shows if there are any forks.
Change type classification is always enabled for the status command.

Each line of output is the name of a changed file, with paths shown
according to the "relative-paths" setting, unless overridden by the
--abs-paths or --rel-paths options.

By default, all changed files are selected for display.  This behavior
can be overridden by using one or more filter options (listed below),
in which case only files with the specified change type(s) are shown.
As a special case, the --no-merge option does not inhibit this default.
This default shows exactly the set of changes that would be checked
in by the commit command.

If no filter options are used, or if the --merge option is used, the
artifact hash of each merge contributor check-in version is displayed at
the end of the report.  The --no-merge option is useful to display the
default set of changed files without the merge contributors.

If change type classification is enabled, each output line starts with
a code describing the file's change type, e.g. EDITED or RENAMED.  It
is enabled by default unless exactly one change type is selected.  For
the purposes of determining the default, --changed counts as selecting
one change type.  The default can be overridden by the --classify or
--no-classify options.

--edited and --updated produce disjoint sets.  --updated shows a file
only when it is identical to that of its merge contributor, and the
change type classification is UPDATED_BY_MERGE or UPDATED_BY_INTEGRATE.
If the file had to be merged with any other changes, it is considered
to be merged or conflicted and therefore will be shown by --edited, not
--updated, with types EDITED or CONFLICT.  The --changed option can be
used to display the union of --edited and --updated.

--differ is so named because it lists all the differences between the
checked-out version and the checkout directory.  In addition to the
default changes (excluding --merge), it lists extra files which (if
ignore-glob is set correctly) may be worth adding.  Prior to doing a
commit, it is good practice to check --differ to see not only which
changes would be committed but also if any files should be added.

If both --merge and --no-merge are used, --no-merge has priority.  The
same is true of --classify and --no-classify.

The "fossil changes --extra" command is equivalent to "fossil extras".

General options:
   --abs-paths       Display absolute pathnames.
   --rel-paths       Display pathnames relative to the current working
                     directory.
   --hash            Verify file status using hashing rather than
                     relying on file mtimes.
   --case-sensitive <BOOL>  Override case-sensitive setting.
   --dotfiles        Include unmanaged files beginning with a dot.
   --ignore <CSG>    Ignore unmanaged files matching CSG glob patterns.
   --no-dir-symlinks Disables support for directory symlinks.

Options specific to the changes command:
   --header          Identify the repository if report is non-empty.
   -v|--verbose      Say "(none)" if the change report is empty.
   --classify        Start each line with the file's change type.
   --no-classify     Do not print file change types.

Filter options:
   --edited          Display edited, merged, and conflicted files.
   --updated         Display files updated by merge/integrate.
   --changed         Combination of the above two options.
   --missing         Display missing files.
   --added           Display added files.
   --deleted         Display deleted files.
   --renamed         Display renamed files.
   --conflict        Display files having merge conflicts.
   --meta            Display files with metadata changes.
   --unchanged       Display unchanged files.
   --all             Display all managed files, i.e. all of the above.
   --extra           Display unmanaged files.
   --differ          Display modified and extra files.
   --merge           Display merge contributors.
   --no-merge        Do not display merge contributors.

See also: extras, ls

sync:

Usage: fossil sync ?URL? ?options?

Synchronize all sharable changes between the local repository and a
remote repository.  Sharable changes include public check-ins and
edits to wiki pages, tickets, and technical notes.

If URL is not specified, then the URL from the most recent clone, push,
pull, remote-url, or sync command is used.  See "fossil help clone" for
details on the URL formats.

Options:

  -B|--httpauth USER:PASS    Credentials for the simple HTTP auth protocol,
                             if required by the remote website
  --ipv4                     Use only IPv4, not IPv6
  --once                     Do not remember URL for subsequent syncs
  --proxy PROXY              Use the specified HTTP proxy
  --private                  Sync private branches too
  -R|--repository REPO       Local repository to sync with
  --ssl-identity FILE        Local SSL credentials, if requested by remote
  --ssh-command SSH          Use SSH as the "ssh" command
  -u|--unversioned           Also sync unversioned content
  -v|--verbose               Additional (debugging) output
  --verily                   Exchange extra information with the remote
                             to ensure no content is overlooked

See also: clone, pull, push, remote-url

tag:

Usage: fossil tag SUBCOMMAND ...

Run various subcommands to control tags and properties.

    fossil tag add ?OPTIONS? TAGNAME CHECK-IN ?VALUE?

        Add a new tag or property to CHECK-IN. The tag will
        be usable instead of a CHECK-IN in commands such as
        update and merge.  If the --propagate flag is present,
        the tag value propagates to all descendants of CHECK-IN

        Options:
          --raw                       Raw tag name.
          --propagate                 Propagating tag.
          --date-override DATETIME    Set date and time added.
          --user-override USER        Name USER when adding the tag.
          --dryrun|-n                 Display the tag text, but do not
                                      actually insert it into the database.

        The --date-override and --user-override options support
        importing history from other SCM systems. DATETIME has
        the form 'YYYY-MMM-DD HH:MM:SS'.

    fossil tag cancel ?--raw? TAGNAME CHECK-IN

        Remove the tag TAGNAME from CHECK-IN, and also remove
        the propagation of the tag to any descendants.  Use the
        the --dryrun or -n options to see what would have happened.

    fossil tag find ?OPTIONS? TAGNAME

        List all objects that use TAGNAME.  TYPE can be "ci" for
        check-ins or "e" for events. The limit option limits the number
        of results to the given value.

        Options:
          --raw           Raw tag name.
          -t|--type TYPE  One of "ci", or "e".
          -n|--limit N    Limit to N results.

    fossil tag list|ls ?--raw? ?CHECK-IN?

        List all tags, or if CHECK-IN is supplied, list
        all tags and their values for CHECK-IN.

The option --raw allows the manipulation of all types of tags
used for various internal purposes in fossil. It also shows
"cancel" tags for the "find" and "list" subcommands. You should
not use this option to make changes unless you are sure what
you are doing.

If you need to use a tagname that might be confused with
a hexadecimal baseline or artifact ID, you can explicitly
disambiguate it by prefixing it with "tag:". For instance:

  fossil update decaf

will be taken as an artifact or baseline ID and fossil will
probably complain that no such revision was found. However

  fossil update tag:decaf

will assume that "decaf" is a tag/branch name.

tarball:

Usage: fossil tarball VERSION OUTPUTFILE [OPTIONS]

Generate a compressed tarball for a specified version.  If the --name
option is used, its argument becomes the name of the top-level directory
in the resulting tarball.  If --name is omitted, the top-level directory
name is derived from the project name, the check-in date and time, and
the artifact ID of the check-in.

The GLOBLIST argument to --exclude and --include can be a comma-separated
list of glob patterns, where each glob pattern may optionally be enclosed
in "..." or '...' so that it may contain commas.  If a file matches both
--include and --exclude then it is excluded.

Options:
  -X|--exclude GLOBLIST   Comma-separated list of GLOBs of files to exclude
  --include GLOBLIST      Comma-separated list of GLOBs of files to include
  --name DIRECTORYNAME    The name of the top-level directory in the archive
  -R REPOSITORY           Specify a Fossil repository

ticket:

Usage: fossil ticket SUBCOMMAND ...

Run various subcommands to control tickets

  fossil ticket show (REPORTTITLE|REPORTNR) ?TICKETFILTER? ?OPTIONS?

    Options:
      -l|--limit LIMITCHAR
      -q|--quote
      -R|--repository FILE

    Run the ticket report, identified by the report format title
    used in the GUI. The data is written as flat file on stdout,
    using TAB as separator. The separator can be changed using
    the -l or --limit option.

    If TICKETFILTER is given on the commandline, the query is
    limited with a new WHERE-condition.
      example:  Report lists a column # with the uuid
                TICKETFILTER may be [#]='uuuuuuuuu'
      example:  Report only lists rows with status not open
                TICKETFILTER: status != 'open'

    If --quote is used, the tickets are encoded by quoting special
    chars (space -> \s, tab -> \t, newline -> \n, cr -> \r,
    formfeed -> \f, vtab -> \v, nul -> \0, \ -> \\).
    Otherwise, the simplified encoding as on the show report raw page
    in the GUI is used. This has no effect in JSON mode.

    Instead of the report title it's possible to use the report
    number; the special report number 0 lists all columns defined in
    the ticket table.

  fossil ticket list fields
  fossil ticket ls fields

    List all fields defined for ticket in the fossil repository.

  fossil ticket list reports
  fossil ticket ls reports

    List all ticket reports defined in the fossil repository.

  fossil ticket set TICKETUUID (FIELD VALUE)+ ?-q|--quote?
  fossil ticket change TICKETUUID (FIELD VALUE)+ ?-q|--quote?

    Change ticket identified by TICKETUUID to set the values of
    each field FIELD to VALUE.

    Field names as defined in the TICKET table.  By default, these
    names include: type, status, subsystem, priority, severity, foundin,
    resolution, title, and comment, but other field names can be added
    or substituted in customized installations.

    If you use +FIELD, the VALUE is appended to the field FIELD.  You
    can use more than one field/value pair on the commandline.  Using
    --quote enables the special character decoding as in "ticket
    show", which allows setting multiline text or text with special
    characters.

  fossil ticket add FIELD VALUE ?FIELD VALUE .. ? ?-q|--quote?

    Like set, but create a new ticket with the given values.

  fossil ticket history TICKETUUID

    Show the complete change history for the ticket

Note that the values in set|add are not validated against the
definitions given in "Ticket Common Script".

timeline:

Usage: fossil timeline ?WHEN? ?CHECKIN|DATETIME? ?OPTIONS?

Print a summary of activity going backwards in date and time
specified or from the current date and time if no arguments
are given.  The WHEN argument can be any unique abbreviation
of one of these keywords:

    before
    after
    descendants | children
    ancestors | parents

The CHECKIN can be any unique prefix of 4 characters or more. You
can also say "current" for the current version.

DATETIME may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in
year-month-day form, it may be truncated, the "T" may be replaced by
a space, and it may also name a timezone offset from UTC as "-HH:MM"
(westward) or "+HH:MM" (eastward). Either no timezone suffix or "Z"
means UTC.


Options:
  -n|--limit N         If N is positive, output the first N entries.  If
                       N is negative, output the first -N lines.  If N is
                       zero, no limit.  Default is -20 meaning 20 lines.
  -p|--path PATH       Output items affecting PATH only.
                       PATH can be a file or a sub directory.
  --offset P           skip P changes
  -t|--type TYPE       Output items from the given types only, such as:
                           ci = file commits only
                           e  = technical notes only
                           t  = tickets only
                           w  = wiki commits only
  -v|--verbose         Output the list of files changed by each commit
                       and the type of each change (edited, deleted,
                       etc.) after the check-in comment.
  -W|--width <num>     Width of lines (default is to auto-detect). Must be
                       >20 or 0 (= no limit, resulting in a single line per
                       entry).
  -R REPO_FILE         Specifies the repository db to use. Default is
                       the current checkout's repository.

ui:

Usage: fossil server ?OPTIONS? ?REPOSITORY?
   or: fossil ui ?OPTIONS? ?REPOSITORY?

Open a socket and begin listening and responding to HTTP requests on
TCP port 8080, or on any other TCP port defined by the -P or
--port option.  The optional argument is the name of the repository.
The repository argument may be omitted if the working directory is
within an open checkout.

The "ui" command automatically starts a web browser after initializing
the web server.  The "ui" command also binds to 127.0.0.1 and so will
only process HTTP traffic from the local machine.

The REPOSITORY can be a directory (aka folder) that contains one or
more repositories with names ending in ".fossil".  In this case, a
prefix of the URL pathname is used to search the directory for an
appropriate repository.  To thwart mischief, the pathname in the URL must
contain only alphanumerics, "_", "/", "-", and ".", and no "-" may
occur after "/", and every "." must be surrounded on both sides by
alphanumerics.  Any pathname that does not satisfy these constraints
results in a 404 error.  Files in REPOSITORY that match the comma-separated
list of glob patterns given by --files and that have known suffixes
such as ".txt" or ".html" or ".jpeg" and do not match the pattern
"*.fossil*" will be served as static content.  With the "ui" command,
the REPOSITORY can only be a directory if the --notfound option is
also present.

For the special case REPOSITORY name of "/", the list global configuration
database is consulted for a list of all known repositories.  The --repolist
option is implied by this special case.  See also the "fossil all ui"
command.

By default, the "ui" command provides full administrative access without
having to log in.  This can be disabled by turning off the "localauth"
setting.  Automatic login for the "server" command is available if the
--localauth option is present and the "localauth" setting is off and the
connection is from localhost.  The "ui" command also enables --repolist
by default.

Options:
  --baseurl URL       Use URL as the base (useful for reverse proxies)
  --create            Create a new REPOSITORY if it does not already exist
  --page PAGE         Start "ui" on PAGE.  ex: --page "timeline?y=ci"
  --files GLOBLIST    Comma-separated list of glob patterns for static files
  --localauth         enable automatic login for requests from localhost
  --localhost         listen on 127.0.0.1 only (always true for "ui")
  --https             signal a request coming in via https
  --nojail            Drop root privileges but do not enter the chroot jail
  --nossl             signal that no SSL connections are available
  --notfound URL      Redirect
  -P|--port TCPPORT   listen to request on port TCPPORT
  --th-trace          trace TH1 execution (for debugging purposes)
  --repolist          If REPOSITORY is dir, URL "/" lists repos.
  --scgi              Accept SCGI rather than HTTP
  --skin LABEL        Use override skin LABEL
  --usepidkey         Use saved encryption key from parent process.  This is
                      only necessary when using SEE on Windows.

See also: cgi, http, winsrv

undo:

Usage: fossil undo ?OPTIONS? ?FILENAME...?
   or: fossil redo ?OPTIONS? ?FILENAME...?

Undo the changes to the working checkout caused by the most recent
of the following operations:

   (1) fossil update             (5) fossil stash apply
   (2) fossil merge              (6) fossil stash drop
   (3) fossil revert             (7) fossil stash goto
   (4) fossil stash pop

The "fossil clean" operation can also be undone; however, this is
currently limited to files that are less than 10MiB in size.

If FILENAME is specified then restore the content of the named
file(s) but otherwise leave the update or merge or revert in effect.
The redo command undoes the effect of the most recent undo.

If the -n|--dry-run option is present, no changes are made and instead
the undo or redo command explains what actions the undo or redo would
have done had the -n|--dry-run been omitted.

A single level of undo/redo is supported.  The undo/redo stack
is cleared by the commit and checkout commands.

Options:
  -n|--dry-run   do not make changes but show what would be done

See also: commit, status

unpublished:

Usage: fossil unpublished ?OPTIONS?

Show a list of unpublished or "private" artifacts.  Unpublished artifacts
will never push and hence will not be shared with collaborators.

By default, this command only shows unpublished check-ins.  To show
all unpublished artifacts, use the --all command-line option.

OPTIONS:
    --all                   Show all artifacts, not just check-ins

unset:

Usage: fossil settings ?PROPERTY? ?VALUE? ?OPTIONS?
   or: fossil unset PROPERTY ?OPTIONS?

The "settings" command with no arguments lists all properties and their
values.  With just a property name it shows the value of that property.
With a value argument it changes the property for the current repository.

Settings marked as versionable are overridden by the contents of the
file named .fossil-settings/PROPERTY in the check-out root, if that
file exists.

The "unset" command clears a property setting.


   access-log       If enabled, record successful and failed login attempts
                    in the "accesslog" table.  Default: off

   admin-log        If enabled, record configuration changes in the
                    "admin_log" table.  Default: off

   allow-symlinks   If enabled, don't follow symlinks, and instead treat
    (versionable)   them as symlinks on Unix. Has no effect on Windows
                    (existing links in repository created on Unix become
                    plain-text files with link destination path inside).
                    Default: on (Unix), off (Windows)

   auto-captcha     If enabled, the Login page provides a button to
                    fill in the captcha password.  Default: on

   auto-hyperlink   Use javascript to enable hyperlinks on web pages
                    for all users (regardless of the "h" privilege) if the
                    User-Agent string in the HTTP header look like it came
                    from real person, not a spider or bot.  Default: on

   auto-shun        If enabled, automatically pull the shunning list
                    from a server to which the client autosyncs.
                    Default: on

   autosync         If enabled, automatically pull prior to commit
                    or update and automatically push after commit or
                    tag or branch creation.  If the value is "pullonly"
                    then only pull operations occur automatically.
                    Default: on

   autosync-tries   If autosync is enabled setting this to a value greater
                    than zero will cause autosync to try no more than this
                    number of attempts if there is a sync failure.
                    Default: 1

   binary-glob      The VALUE is a comma or newline-separated list of
    (versionable)   GLOB patterns that should be treated as binary files
                    for committing and merging purposes.  Example: *.jpg

   case-sensitive   If TRUE, the files whose names differ only in case
                    are considered distinct.  If FALSE files whose names
                    differ only in case are the same file.  Defaults to
                    TRUE for unix and FALSE for Cygwin, Mac and Windows.

   clean-glob       The VALUE is a comma or newline-separated list of GLOB
    (versionable)   patterns specifying files that the "clean" command will
                    delete without prompting or allowing undo.
                    Example: *.a,*.lib,*.o

   clearsign        When enabled, fossil will attempt to sign all commits
                    with gpg.  When disabled (the default), commits will
                    be unsigned.  Default: off

   crlf-glob        A comma or newline-separated list of GLOB patterns for
    (versionable)   text files in which it is ok to have CR, CR+LF or mixed
                    line endings. Set to "*" to disable CR+LF checking.
                    The crnl-glob setting is a compatibility alias.

   default-perms    Permissions given automatically to new users.  For more
                    information on permissions see Users page in Server
                    Administration of the HTTP UI. Default: u.

   diff-binary      If TRUE (the default), permit files that may be binary
                    or that match the "binary-glob" setting to be used with
                    external diff programs.  If FALSE, skip these files.

   diff-command     External command to run when performing a diff.
                    If undefined, the internal text diff will be used.

   dont-push        Prevent this repository from pushing from client to
                    server.  Useful when setting up a private branch.

   dotfiles         Include --dotfiles option for all compatible commands.
    (versionable)

   editor           Text editor command used for check-in comments.

   empty-dirs       A comma or newline-separated list of pathnames. On
    (versionable)   update and checkout commands, if no file or directory
                    exists with that name, an empty directory will be
                    created.

   encoding-glob    The VALUE is a comma or newline-separated list of GLOB
    (versionable)   patterns specifying files that the "commit" command will
                    ignore when issuing warnings about text files that may
                    use another encoding than ASCII or UTF-8. Set to "*"
                    to disable encoding checking.

   exec-rel-paths   When executing certain external commands (e.g. diff and
                    gdiff), use relative paths.

   gdiff-command    External command to run when performing a graphical
                    diff. If undefined, text diff will be used.

   gmerge-command   A graphical merge conflict resolver command operating
                    on four files.
                    Ex: kdiff3 "%baseline" "%original" "%merge" -o "%output"
                    Ex: xxdiff "%original" "%baseline" "%merge" -M "%output"
                    Ex: meld "%baseline" "%original" "%merge" "%output"

   hash-digits      The number of hexadecimal digits of the SHA1 hash to
                    display.  (Default: 10; Minimum: 6)

   http-port        The TCP/IP port number to use by the "server"
                    and "ui" commands.  Default: 8080

   https-login      Send login credentials using HTTPS instead of HTTP
                    even if the login page request came via HTTP.

   ignore-glob      The VALUE is a comma or newline-separated list of GLOB
    (versionable)   patterns specifying files that the "add", "addremove",
                    "clean", and "extra" commands will ignore.
                    Example:  *.log customCode.c notes.txt

   keep-glob        The VALUE is a comma or newline-separated list of GLOB
    (versionable)   patterns specifying files that the "clean" command will
                    keep.

   localauth        If enabled, require that HTTP connections from
                    127.0.0.1 be authenticated by password.  If
                    false, all HTTP requests from localhost have
                    unrestricted access to the repository.

   main-branch      The primary branch for the project.  Default: trunk

   manifest         If set to a true boolean value, automatically create
    (versionable)   files "manifest" and "manifest.uuid" in every checkout.
                    Optionally use combinations of characters 'r'
                    for "manifest", 'u' for "manifest.uuid" and 't' for
                    "manifest.tags".  The SQLite and Fossil repositories
                    both require manifests.  Default: off.

   max-loadavg      Some CPU-intensive web pages (ex: /zip, /tarball, /blame)
                    are disallowed if the system load average goes above this
                    value.  "0.0" means no limit.  This only works on unix.
                    Only local settings of this value make a difference since
                    when running as a web-server, Fossil does not open the
                    global configuration database.

   max-upload       A limit on the size of uplink HTTP requests.  The
                    default is 250000 bytes.

   mtime-changes    Use file modification times (mtimes) to detect when
                    files have been modified.  (Default "on".)

   mv-rm-files      If enabled (and Fossil was compiled with legacy "mv/rm"
                    support), the "mv" and "rename" commands will also move
                    the associated files within the checkout -AND- the "rm"
                    and "delete" commands will also remove the associated
                    files from within the checkout.  Default: off.

   pgp-command      Command used to clear-sign manifests at check-in.
                    The default is "gpg --clearsign -o ".

   proxy            URL of the HTTP proxy.  If undefined or "off" then
                    the "http_proxy" environment variable is consulted.
                    If the http_proxy environment variable is undefined
                    then a direct HTTP connection is used.

   relative-paths   When showing changes and extras, report paths relative
                    to the current working directory.  Default: "on"

   repo-cksum       Compute checksums over all files in each checkout
                    as a double-check of correctness.  Defaults to "on".
                    Disable on large repositories for a performance
                    improvement.

   self-register    Allow users to register themselves through the HTTP UI.
                    This is useful if you want to see other names than
                    "Anonymous" in e.g. ticketing system. On the other hand
                    users can not be deleted. Default: off.

   ssh-command      Command used to talk to a remote machine with
                    the "ssh://" protocol.

   ssl-ca-location  The full pathname to a file containing PEM encoded
                    CA root certificates, or a directory of certificates
                    with filenames formed from the certificate hashes as
                    required by OpenSSL.
                    If set, this will override the OS default list of
                    OpenSSL CAs. If unset, the default list will be used.
                    Some platforms may add additional certificates.
                    Checking your platform behaviour is required if the
                    exact contents of the CA root is critical for your
                    application.

   ssl-identity     The full pathname to a file containing a certificate
                    and private key in PEM format. Create by concatenating
                    the certificate and private key files.
                    This identity will be presented to SSL servers to
                    authenticate this client, in addition to the normal
                    password authentication.

   tcl              If enabled (and Fossil was compiled with Tcl support),
                    Tcl integration commands will be added to the TH1
                    interpreter, allowing arbitrary Tcl expressions and
                    scripts to be evaluated from TH1.  Additionally, the Tcl
                    interpreter will be able to evaluate arbitrary TH1
                    expressions and scripts. Default: off.

   tcl-setup        This is the setup script to be evaluated after creating
    (versionable)   and initializing the Tcl interpreter.  By default, this
                    is empty and no extra setup is performed.

   th1-docs         WARNING: If enabled (and Fossil was compiled with TH1
                    support for embedded documentation files), this allows
                    embedded documentation files to contain arbitrary TH1
                    scripts that are evaluated on the server.  If native
                    Tcl integration is also enabled, this setting has the
                    potential to allow anybody with check-in privileges to
                    do almost anything that the associated operating system
                    user account could do.  Extreme caution should be used
                    when enabling this setting.  Default: off.

   th1-hooks        If enabled (and Fossil was compiled with support for TH1
                    hooks), special TH1 commands will be called before and
                    after any Fossil command or web page. Default: off.

   th1-setup        This is the setup script to be evaluated after creating
    (versionable)   and initializing the TH1 interpreter.  By default, this
                    is empty and no extra setup is performed.

   th1-uri-regexp   Specify which URI's are allowed in HTTP requests from
    (versionable)   TH1 scripts.  If empty, no HTTP requests are allowed
                    whatsoever.  The default is an empty string.

   uv-sync          If true, automatically send unversioned files as part
                    of a "fossil clone" or "fossil sync" command.  The
                    default is false, in which case the -u option is
                    needed to clone or sync unversioned files.

   web-browser      A shell command used to launch your preferred
                    web browser when given a URL as an argument.
                    Defaults to "start" on windows, "open" on Mac,
                    and "firefox" on Unix.

Options:
  --global   set or unset the given property globally instead of
             setting or unsetting it for the open repository only.

  --exact    only consider exact name matches.

See also: configuration

unversioned:

Usage: fossil unversioned SUBCOMMAND ARGS...
   or: fossil uv SUBCOMMAND ARGS..

Unversioned files (UV-files) are artifacts that are synced and are available
for download but which do not preserve history.  Only the most recent version
of each UV-file is retained.  Changes to an UV-file are permanent and cannot
be undone, so use appropriate caution with this command.

Subcommands:

   add FILE ...         Add or update an unversioned files in the local
                        repository so that it matches FILE on disk.
                        Use "--as UVFILE" to give the file a different name
                        in the repository than what it called on disk.
                        Changes are not pushed to other repositories until
                        the next sync.

   cat FILE ...         Concatenate the content of FILEs to stdout.

   edit FILE            Bring up FILE in a text editor for modification.

   export FILE OUTPUT   Write the content of FILE into OUTPUT on disk

   list | ls            Show all unversioned files held in the local
                        repository.

   revert ?URL?         Restore the state of all unversioned files in the
                        local repository to match the remote repository
                        URL.

                        Options:
                           -v|--verbose     Extra diagnostic output
                           -n|--dryrun      Show what would have happened

   remove|rm|delete FILE ...
                        Remove unversioned files from the local repository.
                        Changes are not pushed to other repositories until
                        the next sync.

   sync ?URL?           Synchronize the state of all unversioned files with
                        the remote repository URL.  The most recent version
                        of each file is propagate to all repositories and
                        all prior versions are permanently forgotten.

                        Options:
                           -v|--verbose     Extra diagnostic output
                           -n|--dryrun      Show what would have happened

   touch FILE ...       Update the TIMESTAMP on all of the listed files

Options:

  --mtime TIMESTAMP     Use TIMESTAMP instead of "now" for the "add",
                        "edit", "remove", and "touch" subcommands.

update:

Usage: fossil update ?OPTIONS? ?VERSION? ?FILES...?

Change the version of the current checkout to VERSION.  Any
uncommitted changes are retained and applied to the new checkout.

The VERSION argument can be a specific version or tag or branch
name.  If the VERSION argument is omitted, then the leaf of the
subtree that begins at the current version is used, if there is
only a single leaf.  VERSION can also be "current" to select the
leaf of the current version or "latest" to select the most recent
check-in.

If one or more FILES are listed after the VERSION then only the
named files are candidates to be updated, and any updates to them
will be treated as edits to the current version. Using a directory
name for one of the FILES arguments is the same as using every
subdirectory and file beneath that directory.

If FILES is omitted, all files in the current checkout are subject
to being updated and the version of the current checkout is changed
to VERSION. Any uncommitted changes are retained and applied to the
new checkout.

The -n or --dry-run option causes this command to do a "dry run".
It prints out what would have happened but does not actually make
any changes to the current checkout or the repository.

The -v or --verbose option prints status information about
unchanged files in addition to those file that actually do change.

Options:
  --case-sensitive <BOOL> override case-sensitive setting
  --debug          print debug information on stdout
  --latest         acceptable in place of VERSION, update to latest version
  --force-missing  force update if missing content after sync
  --no-dir-symlinks Disables support for directory symlinks.
  -n|--dry-run     If given, display instead of run actions
  -v|--verbose     print status information about all files
  -W|--width <num> Width of lines (default is to auto-detect). Must be >20
                   or 0 (= no limit, resulting in a single line per entry).

See also: revert

user:

Usage: fossil user SUBCOMMAND ...  ?-R|--repository FILE?

Run various subcommands on users of the open repository or of
the repository identified by the -R or --repository option.

   fossil user capabilities USERNAME ?STRING?

       Query or set the capabilities for user USERNAME

   fossil user default ?USERNAME?

       Query or set the default user.  The default user is the
       user for command-line interaction.

   fossil user list
   fossil user ls

       List all users known to the repository

   fossil user new ?USERNAME? ?CONTACT-INFO? ?PASSWORD?

       Create a new user in the repository.  Users can never be
       deleted.  They can be denied all access but they must continue
       to exist in the database.

   fossil user password USERNAME ?PASSWORD?

       Change the web access password for a user.

uv:

Usage: fossil unversioned SUBCOMMAND ARGS...
   or: fossil uv SUBCOMMAND ARGS..

Unversioned files (UV-files) are artifacts that are synced and are available
for download but which do not preserve history.  Only the most recent version
of each UV-file is retained.  Changes to an UV-file are permanent and cannot
be undone, so use appropriate caution with this command.

Subcommands:

   add FILE ...         Add or update an unversioned files in the local
                        repository so that it matches FILE on disk.
                        Use "--as UVFILE" to give the file a different name
                        in the repository than what it called on disk.
                        Changes are not pushed to other repositories until
                        the next sync.

   cat FILE ...         Concatenate the content of FILEs to stdout.

   edit FILE            Bring up FILE in a text editor for modification.

   export FILE OUTPUT   Write the content of FILE into OUTPUT on disk

   list | ls            Show all unversioned files held in the local
                        repository.

   revert ?URL?         Restore the state of all unversioned files in the
                        local repository to match the remote repository
                        URL.

                        Options:
                           -v|--verbose     Extra diagnostic output
                           -n|--dryrun      Show what would have happened

   remove|rm|delete FILE ...
                        Remove unversioned files from the local repository.
                        Changes are not pushed to other repositories until
                        the next sync.

   sync ?URL?           Synchronize the state of all unversioned files with
                        the remote repository URL.  The most recent version
                        of each file is propagate to all repositories and
                        all prior versions are permanently forgotten.

                        Options:
                           -v|--verbose     Extra diagnostic output
                           -n|--dryrun      Show what would have happened

   touch FILE ...       Update the TIMESTAMP on all of the listed files

Options:

  --mtime TIMESTAMP     Use TIMESTAMP instead of "now" for the "add",
                        "edit", "remove", and "touch" subcommands.

version:

Usage: fossil version ?-verbose|-v?

Print the source code version number for the fossil executable.
If the verbose option is specified, additional details will
be output about what optional features this binary was compiled
with

whatis:

Usage: fossil whatis NAME

Resolve the symbol NAME into its canonical artifact hash
artifact name and provide a description of what role that artifact
plays.

Options:

   --type TYPE          Only find artifacts of TYPE (one of: 'ci', 't',
                        'w', 'g', or 'e').
   -v|--verbose         Provide extra information (such as the RID)

wiki:

Usage: fossil wiki (export|create|commit|list) WikiName

Run various subcommands to work with wiki entries or tech notes.

   fossil wiki export PAGENAME ?FILE?
   fossil wiki export ?FILE? -t|--technote DATETIME|TECHNOTE-ID

      Sends the latest version of either a wiki page or of a tech note
      to the given file or standard output.
      If PAGENAME is provided, the wiki page will be output. For
      a tech note either DATETIME or TECHNOTE-ID must be specified. If
      DATETIME is used, the most recently modified tech note with that
      DATETIME will be sent.

   fossil wiki (create|commit) PAGENAME ?FILE? ?OPTIONS?

      Create a new or commit changes to an existing wiki page or
      technote from FILE or from standard input. PAGENAME is the
      name of the wiki entry or the timeline comment of the
      technote.

      Options:
        -M|--mimetype TEXT-FORMAT   The mime type of the update.
                                    Defaults to the type used by
                                    the previous version of the
                                    page, or text/x-fossil-wiki.
                                    Valid values are: text/x-fossil-wiki,
                                    text/markdown and text/plain. fossil,
                                    markdown or plain can be specified as
                                    synonyms of these values.
        -t|--technote DATETIME      Specifies the timestamp of
                                    the technote to be created or
                                    updated. When updating a tech note
                                    the most recently modified tech note
                                    with the specified timestamp will be
                                    updated.
        -t|--technote TECHNOTE-ID   Specifies the technote to be
                                    updated by its technote id.
        --technote-tags TAGS        The set of tags for a technote.
        --technote-bgcolor COLOR    The color used for the technote
                                    on the timeline.

   fossil wiki list ?OPTIONS?
   fossil wiki ls ?OPTIONS?

      Lists all wiki entries, one per line, ordered
      case-insensitively by name.

      Options:
        -t|--technote               Technotes will be listed instead of
                                    pages. The technotes will be in order
                                    of timestamp with the most recent
                                    first.
        -s|--show-technote-ids      The id of the tech note will be listed
                                    along side the timestamp. The tech note
                                    id will be the first word on each line.
                                    This option only applies if the
                                    --technote option is also specified.

DATETIME may be "now" or "YYYY-MM-DDTHH:MM:SS.SSS". If in
year-month-day form, it may be truncated, the "T" may be replaced by
a space, and it may also name a timezone offset from UTC as "-HH:MM"
(westward) or "+HH:MM" (eastward). Either no timezone suffix or "Z"
means UTC.

zip:

Usage: fossil zip VERSION OUTPUTFILE [OPTIONS]

Generate a ZIP archive for a check-in.  If the --name option is
used, its argument becomes the name of the top-level directory in the
resulting ZIP archive.  If --name is omitted, the top-level directory
name is derived from the project name, the check-in date and time, and
the artifact ID of the check-in.

The GLOBLIST argument to --exclude and --include can be a comma-separated
list of glob patterns, where each glob pattern may optionally be enclosed
in "..." or '...' so that it may contain commas.  If a file matches both
--include and --exclude then it is excluded.

Options:
  -X|--exclude GLOBLIST   Comma-separated list of GLOBs of files to exclude
  --include GLOBLIST      Comma-separated list of GLOBs of files to include
  --name DIRECTORYNAME    The name of the top-level directory in the archive
  -R REPOSITORY           Specify a Fossil repository