- /access_log (web page)
-
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 (web page)
-
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 (web page)
-
Run raw SQL commands against the database file using the web interface.
Requires Setup privileges.
- /admin_th1 (web page)
-
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 (web page)
-
URL: /ainfo?name=ARTIFACTID
Show the details of an attachment artifact.
- /alerts (web page)
-
Edit email alert and notification settings.
The subscriber is identified in several ways:
(1) The name= query parameter contains the complete subscriberCode.
This only happens when the user receives a verification
email and clicks on the link in the email. When a
compilete subscriberCode is seen on the name= query parameter,
that constitutes verification of the email address.
(2) The sid= query parameter contains an integer subscriberId.
This only works for the administrator. It allows the
administrator to edit any subscription.
(3) The user is logged into an account other than "nobody" or
"anonymous". In that case the notification settings
associated with that account can be edited without needing
to know the subscriber code.
(4) The name= query parameter contains a 32-digit prefix of
subscriber code. (Subscriber codes are normally 64 hex digits
in length.) This uniquely identifies the subscriber without
revealing the complete subscriber code, and hence without
verifying the email address.
- /ambiguous (web page)
-
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 (web page)
-
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.
Reverse Annotations: Normally, these web pages look at versions of
FILENAME moving backwards in time back toward the root check-in. However,
if the origin= query parameter is used to specify some future check-in
(example: "origin=trunk") then these pages show changes moving towards
that alternative origin. Thus using "origin=trunk" on an historical
version of the file shows the first time each line in the file was changed
or removed by any subsequent check-in.
Query parameters:
checkin=ID The check-in at which to start the annotation
filename=FILENAME The filename.
filevers=BOOLEAN Show file versions rather than check-in versions
limit=LIMIT Limit the amount of analysis:
"none" No limit
"Xs" As much as can be computed in X seconds
"N" N versions
log=BOOLEAN Show a log of versions analyzed
origin=ID The origin checkin. If unspecified, the root
check-in over the entire repository is used.
Specify "origin=trunk" or similar for a reverse
annotation
w=BOOLEAN Ignore whitespace
- /announce (web page)
-
A web-form, available to users with the "Send-Announcement" or "A"
capability, that allows one to send announcements to whomever
has subscribed to receive announcements. The administrator can
also send a message to an arbitrary email address and/or to all
subscribers regardless of whether or not they have elected to
receive announcements.
- /artifact (web page)
-
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=NAME - filename or hash as a query parameter
filename=NAME - alternative spelling for "name="
fn=NAME - alternative spelling for "name="
ci=VERSION - The specific check-in to use with "name=" to
identify the file.
The /artifact page show the complete content of a file
identified by HASH. The /whatis page shows only a description
of how the artifact is used. 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.
For /artifact and /whatis, the name= query parameter can refer to
either the name of a file, or an artifact hash. If the ci= query
parameter is also present, then name= must refer to a file name.
If ci= is omitted, then the hash interpretation is preferred but
if name= cannot be understood as a hash, a default "tip" value is
used for ci=.
For /file, name= can only be interpreted as a filename. As before,
a default value of "tip" is used for ci= if ci= is omitted.
- /artifact_stats (web page)
-
Show information about the sizes of artifacts in this repository
- /attachadd (web page)
-
Add a new attachment.
tkt=TICKETUUID
page=WIKIPAGE
technote=TECHNOTEUUID
from=URL
- /attachdownload (web page)
-
Download or display an attachment.
Query parameters:
tkt=TICKETUUID
page=WIKIPAGE
technote=TECHNOTEUUID
file=FILENAME
attachid=ID
- /attachimage (web page)
-
Download or display an attachment.
Query parameters:
tkt=TICKETUUID
page=WIKIPAGE
technote=TECHNOTEUUID
file=FILENAME
attachid=ID
- /attachlist (web page)
-
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 (web page)
-
Download or display an attachment.
Query parameters:
tkt=TICKETUUID
page=WIKIPAGE
technote=TECHNOTEUUID
file=FILENAME
attachid=ID
- /background (web page)
-
Return the background image. If no background image is defined, a
built-in 16x16 pixel white GIF is returned.
- /bigbloblist (web page)
-
Return a page showing the largest artifacts in the repository in order
of decreasing size.
n=N Show the top N artifacts
- /blame (web page)
-
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.
Reverse Annotations: Normally, these web pages look at versions of
FILENAME moving backwards in time back toward the root check-in. However,
if the origin= query parameter is used to specify some future check-in
(example: "origin=trunk") then these pages show changes moving towards
that alternative origin. Thus using "origin=trunk" on an historical
version of the file shows the first time each line in the file was changed
or removed by any subsequent check-in.
Query parameters:
checkin=ID The check-in at which to start the annotation
filename=FILENAME The filename.
filevers=BOOLEAN Show file versions rather than check-in versions
limit=LIMIT Limit the amount of analysis:
"none" No limit
"Xs" As much as can be computed in X seconds
"N" N versions
log=BOOLEAN Show a log of versions analyzed
origin=ID The origin checkin. If unspecified, the root
check-in over the entire repository is used.
Specify "origin=trunk" or similar for a reverse
annotation
w=BOOLEAN Ignore whitespace
- /bloblist (web page)
-
Return a page showing all artifacts in the repository. Query parameters:
n=N Show N artifacts
s=S Start with artifact number S
priv Show only unpublished or private artifacts
phan Show only phantom artifacts
hclr Color code hash types (SHA1 vs SHA3)
- /brlist (web page)
-
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
colortest Show all branches with automatic color
When there are no query parameters, a new-style /brlist page shows
all branches in a sortable table. The new-style /brlist page is
preferred and is the default.
- /brtimeline (web page)
-
Show a timeline of all branches
Query parameters:
ng No graph
nohidden Hide check-ins with "hidden" tag
onlyhidden Show only check-ins with "hidden" tag
brbg Background color by branch name
ubg Background color by user name
- /builtin (web page)
-
URL: builtin/FILENAME
Return the built-in text given by FILENAME. This is used internally
by many Fossil web pages to load built-in javascript files.
If the id= query parameter is present, then Fossil assumes that the
result is immutable and sets a very large cache retention time (1 year).
- /cacheget (web page)
-
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 (web page)
-
Show information about the webpage cache. Requires Setup privilege.
- /captcha-audio (web page)
-
Return a WAV file that pronounces the digits of the captcha that
is determined by the seed given in the name= query parameter.
- /ci (web page)
-
URL: /ci/ARTIFACTID
OR: /ci?name=ARTIFACTID
Display information about a particular check-in. The exact
same information is shown on the /info page if the name query
parameter to /info describes a check-in.
The ARTIFACTID can be a unique prefix for the HASH of the check-in,
or a tag or branch name that identifies the check-in.
- /ci_edit (web page)
-
Edit a check-in. (Check-ins are immutable and do not really change.
This page really creates supplemental tags that affect the display
of the check-in.)
Query parameters:
rid=INTEGER Record ID of the check-in to edit (REQUIRED)
POST parameters after pressing "Preview", "Cancel", or "Apply":
c=TEXT New check-in comment
u=TEXT New user name
newclr Apply a background color
clr=TEXT New background color (only if newclr)
pclr Propagate new background color (only if newclr)
dt=TEXT New check-in date/time (ISO8610 format)
newtag Add a new tag to the check-in
tagname=TEXT Name of the new tag to be added (only if newtag)
newbr Put the check-in on a new branch
brname=TEXT Name of the new branch (only if newbr)
close Close this check-in
hide Hide this check-in
cNNN Cancel tag with tagid=NNN
cancel Cancel the edit. Return to the check-in view
preview Show a preview of the edited check-in comment
apply Apply changes
- /ci_tags (web page)
-
URL: /ci_tags?name=ARTIFACTID
Show all tags and properties for a given check-in.
This information used to be part of the main /ci page, but it is of
marginal usefulness. Better to factor it out into a sub-screen.
- /contact_admin (web page)
-
A web-form to send an email message to the repository administrator,
or (with appropriate permissions) to anybody.
- /cookies (web page)
-
Show the current display settings contained in the
"fossil_display_settings" cookie.
- /debug_tktedit (web page)
-
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 (web page)
-
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 (web page)
-
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
noreadme Do not attempt to display the README file.
- /doc (web page)
-
URL: /uv/FILE
URL: /doc/CHECKIN/FILE
CHECKIN can be either tag or hash prefix or timestamp identifying a
particular check-in, 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"
"latest" means use the most recent check-in for the document
regardless of what branch it occurs on.
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. For /uv, FILE
can also be the hash of the unversioned 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 (web page)
-
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
- /download (web page)
-
Provide a simple page that enables newbies to download the latest tarball or
ZIP archive, and provides instructions on how to clone.
- /emailblob (web page)
-
This page, accessible only to administrators, allows easy viewing of
the emailblob table - the table that contains the text of email messages
both inbound and outbound, and transcripts of SMTP sessions.
id=N Show the text of emailblob with emailid==N
- /emailoutq (web page)
-
This page, accessible only to administrators, allows easy viewing of
the emailoutq table - the table that contains the email messages
that are queued for transmission via SMTP.
- /errorlog (web page)
-
Show the content of the error log. Only the administrator can view
this page.
- /event (web page)
-
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 (web page)
-
Revise or create a technical note (formerly called an "event").
Required query parameter:
name=ID Hex hash ID of the technote. If omitted, a new
tech-note is created.
POST parameters from the "Cancel", "Preview", or "Submit" buttons:
w=TEXT Complete text of the technote.
t=TEXT Time of the technote on the timeline (ISO 8601)
c=TEXT Timeline comment
g=TEXT Tags associated with this technote
mimetype=TEXT Mimetype for w= text
newclr Use a background color
clr=TEXT Background color to use if newclr
For GET requests, when editing an existing technote newclr and clr
are implied if a custom color has been set on the previous version
of the technote.
- /ext (raw-content web page)
-
Relay an HTTP request to secondary CGI after first checking the
login credentials and setting auxiliary environment variables
so that the secondary CGI can be aware of the credentials and
capabilities of the Fossil user.
The /ext page is only functional if the "extroot: DIR" setting is
found in the CGI script that launched Fossil, or if the "--extroot DIR"
flag is present when Fossil is lauched using the "server", "ui", or
"http" commands. DIR must be an absolute pathname (relative to the
chroot jail) of the root of the file hierarchy that implements the CGI
functionality. Executable files are CGI. Non-executable files are
static content.
The path after the /ext is the path to the CGI script or static file
relative to DIR. For security, this path may not contain characters
other than ASCII letters or digits, ".", "-", "/", and "_". If the
"." or "-" characters are present in the path then they may not follow
a "/".
If the path after /ext ends with "/" and is the name of a directory then
that directory is searched for files named "index.html", "index.wiki",
and "index.md" (in that order) and if found, those filenames are
appended to the path.
- /extfilelist (web page)
-
List all files in the extension CGI document root and its subfolders.
- /favicon.ico (web page)
-
Return the default favicon.ico image. The returned image is for the
Fossil lizard icon.
The intended use case here is to supply a favicon for the "fossil ui"
command. For a permanent website, the recommended process is for
the admin to set up a project-specific favicon and reference that
icon in the HTML header using a line like:
<link rel="icon" href="URL-FOR-YOUR-ICON" type="MIMETYPE"/>
- /fdiff (web page)
-
URL: fdiff?v1=UUID&v2=UUID
Two arguments, v1 and v2, identify the artifacts to be diffed.
Show diff side by side unless sbs is 0. Generate plain text if
"patch" is present, otherwise generate "pretty" HTML.
Alternative URL: fdiff?from=filename1&to=filename2&ci=checkin
If the "from" and "to" query parameters are both present, then they are
the names of two files within the check-in "ci" that are diffed. If the
"ci" parameter is omitted, then the most recent check-in ("tip") is
used.
Additional parameters:
dc=N Show N lines of context around each diff
patch Use the patch diff format
regex=REGEX Only show differences that match REGEX
sbs=BOOLEAN Turn side-by-side diffs on and off (default: on)
verbose=BOOLEAN Show more detail when describing artifacts
w=BOOLEAN Ignore whitespace
- /file (web page)
-
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=NAME - filename or hash as a query parameter
filename=NAME - alternative spelling for "name="
fn=NAME - alternative spelling for "name="
ci=VERSION - The specific check-in to use with "name=" to
identify the file.
The /artifact page show the complete content of a file
identified by HASH. The /whatis page shows only a description
of how the artifact is used. 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.
For /artifact and /whatis, the name= query parameter can refer to
either the name of a file, or an artifact hash. If the ci= query
parameter is also present, then name= must refer to a file name.
If ci= is omitted, then the hash interpretation is preferred but
if name= cannot be understood as a hash, a default "tip" value is
used for ci=.
For /file, name= can only be interpreted as a filename. As before,
a default value of "tip" is used for ci= if ci= is omitted.
- /fileage (web page)
-
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 (web page)
-
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
m=HASH Mark this particular file version
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
orig=UUID If both ci and orig are supplied, only show those
changes on a direct path from orig to ci.
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.
- /forum (web page)
-
The main page for the forum feature. Show a list of recent forum
threads. Also show a search box at the top if search is enabled,
and a button for creating a new thread, if enabled.
Query parameters:
n=N The number of threads to show on each page
x=X Skip the first X threads
- /forume1 (web page)
-
Start a new forum thread.
- /forume2 (web page)
-
Edit an existing forum message.
Query parameters:
fpid=X Hash of the post to be editted. REQUIRED
- /forumedit (web page)
-
Start a new thread on the forum or reply to an existing thread.
But first prompt to see if the user would like to log in.
- /forummain (web page)
-
The main page for the forum feature. Show a list of recent forum
threads. Also show a search box at the top if search is enabled,
and a button for creating a new thread, if enabled.
Query parameters:
n=N The number of threads to show on each page
x=X Skip the first X threads
- /forumnew (web page)
-
Start a new thread on the forum or reply to an existing thread.
But first prompt to see if the user would like to log in.
- /forumpost (web page)
-
Show a single forum posting. The posting is shown in context with
it's entire thread. The selected posting is enclosed within
<div class='forumSel'>...</div>. Javascript is used to move the
selected posting into view after the page loads.
Query parameters:
name=X REQUIRED. The hash of the post to display
t=MODE Display mode.
'c' for chronological
'h' for hierarchical
'a' for automatic
'r' for raw
'y' for history of post X only
raw If present, show only the post specified and
show its original unformatted source text.
- /forumthread (web page)
-
Show all forum messages associated with a particular message thread.
The result is basically the same as /forumpost except that none of
the postings in the thread are selected.
Query parameters:
name=X REQUIRED. The hash of any post of the thread.
t=MODE Display mode. MODE is...
'c' for chronological, or
'h' for hierarchical, or
'a' for automatic, or
'r' for raw.
raw Show only the post given by name= and show it unformatted
hist Show only the edit history for the name= post
- /hash-collisions (web page)
-
Show the number of hash collisions for hash prefixes of various lengths.
- /hash-color-test (web page)
-
Print out the color names associated with each tag. Used for
testing the hash_color() function.
- /help (web page)
-
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 or a setting.
- /hexdump (web page)
-
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 (web page)
-
The /home, /index, and /not_found pages all redirect to the homepage
configured by the administrator.
- /honeypot (web page)
-
This page is a honeypot for spiders and bots.
- /index (web page)
-
The /home, /index, and /not_found pages all redirect to the homepage
configured by the administrator.
- /info (web page)
-
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 (web page)
-
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 (web page)
-
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
ng No graph
nohidden Hide check-ins with "hidden" tag
onlyhidden Show only check-ins with "hidden" tag
brbg Background color by branch name
ubg Background color by user name
- /login (web page)
-
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 (web page)
-
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 (web page)
-
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"
- /markup_help (web page)
-
Show links to the md_rules and wiki_rules pages.
- /md_rules (web page)
-
Show a summary of the Markdown wiki formatting rules.
- /mimetype_list (web page)
-
Show the built-in table used to guess embedded document mimetypes
from file suffixes.
- /mlink (web page)
-
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 Fossil developers to help
in debugging Fossil itself. Ordinary Fossil users are not
expected to know what the MLINK table is or why it is important.
To avoid confusing ordinary users, this page is only available
to administrators.
- /modreq (web page)
-
Show all pending moderation request
- /my (web page)
-
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 (web page)
-
The /home, /index, and /not_found pages all redirect to the homepage
configured by the administrator.
- /phantoms (web page)
-
Show a list of all "phantom" artifacts that are not marked as "private".
A "phantom" artifact is an artifact whose hash named appears in some
artifact but whose content is unknown. For example, if a manifest
references a particular SHA3 hash of a file, but that SHA3 hash is
not on the shunning list and is not in the database, then the file
is a phantom. We know it exists, but we do not know its content.
Whenever a sync occurs, both each party looks at its phantom list
and for every phantom that is not also marked private, it asks the
other party to send it the content. This mechanism helps keep all
repositories synced up.
This page is similar to the /bloblist page in that it lists artifacts.
But this page is a special case in that it only shows phantoms that
are not private. In other words, this page shows all phantoms that
generate extra network traffic on every sync request.
- /praise (web page)
-
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.
Reverse Annotations: Normally, these web pages look at versions of
FILENAME moving backwards in time back toward the root check-in. However,
if the origin= query parameter is used to specify some future check-in
(example: "origin=trunk") then these pages show changes moving towards
that alternative origin. Thus using "origin=trunk" on an historical
version of the file shows the first time each line in the file was changed
or removed by any subsequent check-in.
Query parameters:
checkin=ID The check-in at which to start the annotation
filename=FILENAME The filename.
filevers=BOOLEAN Show file versions rather than check-in versions
limit=LIMIT Limit the amount of analysis:
"none" No limit
"Xs" As much as can be computed in X seconds
"N" N versions
log=BOOLEAN Show a log of versions analyzed
origin=ID The origin checkin. If unspecified, the root
check-in over the entire repository is used.
Specify "origin=trunk" or similar for a reverse
annotation
w=BOOLEAN Ignore whitespace
- /raw (web page)
-
URL: /raw/ARTIFACTID
URL: /raw?ci=BRANCH&filename=NAME
Additional query parameters:
m=MIMETYPE The mimetype is MIMETYPE
at=FILENAME Content-disposition; attachment; filename=FILENAME;
Return the uninterpreted content of an artifact. Used primarily
to view artifacts that are images.
- /rcvfrom (web page)
-
Show a single RCVFROM table entry identified by the rcvid= query
parameters. Requires Admin privilege.
- /rcvfromlist (web page)
-
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 (web page)
-
Page to allow users to self-register. The "self-register" setting
must be enabled for this page to operate.
- /repo-tabsize (web page)
-
Show relative sizes of tables in the repository database.
- /repo_schema (web page)
-
Show the repository schema
- /repo_stat1 (web page)
-
Show the sqlite_stat1 table for the repository schema
- /reportlist (web page)
-
Main menu for Tickets.
- /reports (web page)
-
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), f (forum), 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 (web page)
-
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 (web page)
-
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 (web page)
-
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 (web page)
-
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.
- /script.js (web page)
-
Return the "Javascript" content for the current skin (if there is any)
- /search (web page)
-
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
e -> tech notes
f -> forum
all -> everything
- /secaudit0 (web page)
-
Run a security audit of the current Fossil setup, looking
for configuration problems that might allow unauthorized
access to the repository.
This page requires administrator access. It is usually
accessed using the Admin/Security-Audit menu option
from any of the default skins.
- /secureraw (web page)
-
URL: /secureraw/HASH?m=TYPE
Return the uninterpreted content of an artifact. This is similar
to /raw except in this case the only way to specify the artifact
is by the full-length SHA1 or SHA3 hash. Abbreviations are not
accepted.
- /setup (web page)
-
Main menu for the administrative pages. Requires Admin or Setup
privileges. Links to sub-pages only usable by Setup users are
shown only to Setup users.
- /setup_access (web page)
-
The access-control settings page. Requires Setup privileges.
- /setup_adunit (web page)
-
Administrative page for configuring and controlling ad units
and how they are displayed.
- /setup_config (web page)
-
The "Admin/Configuration" page. Requires Setup privilege.
- /setup_login_group (web page)
-
Change how the current repository participates in a login
group.
- /setup_logo (web page)
-
Administrative page for changing the logo image.
- /setup_modreq (web page)
-
Admin page for setting up moderation of tickets and wiki.
- /setup_notification (web page)
-
Administrative page for configuring and controlling email notification.
Normally accessible via the /Admin/Notification menu.
- /setup_settings (web page)
-
Change or view miscellaneous settings. Part of the
/setup pages requiring Setup privileges.
- /setup_skin (web page)
-
Generate a page showing the steps needed to customize a skin.
- /setup_skin_admin (web page)
-
Administrative actions on skins. For administrators only.
- /setup_skinedit (web page)
-
Edit aspects of a skin determined by the w= query parameter.
Requires Admin or Setup privileges.
w=NUM -- 0=CSS, 1=footer, 2=header, 3=details, 4=js
sk=NUM -- the draft skin number
- /setup_smtp (web page)
-
Administrative page for configuring and controlling inbound email and
output email queuing. This page is available to administrators
only via the /Admin/EmailServer menu.
- /setup_smtp_route (web page)
-
Edit a single entry in the emailroute table.
Query parameters:
eaddr=ADDR ADDR is the email address as edited.
oaddr=ADDR The original email address prior to editing.
Omit to add a new address.
epolicy=TXT The routing policy.
- /setup_timeline (web page)
-
Edit administrative settings controlling the display of
timelines.
- /setup_ucap_list (web page)
-
A documentation page showing the meaning of the various user capabilities
code letters.
- /setup_uedit (web page)
-
Edit information about a user or create a new user.
Requires Admin privileges.
- /setup_ulist (web page)
-
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 (web page)
-
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.
- /setup_wiki (web page)
-
The "Admin/Wiki" page. Requires Setup privilege.
- /shun (web page)
-
View the hashes of all shunned artifacts. Add new hashes
to the shun set. Requires Admin privilege.
- /sitemap (web page)
-
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.
- /sqlar (web page)
-
Generate a ZIP or SQL archive for the check-in specified by the "r"
query parameter. Return the archive as the HTTP reply content.
If the NAME contains one "/" then the part before the "/" is taken
as the TAG and the part after the "/" becomes the true name. Hence,
the following URLs are all equivalent:
/sqlar/508c42a6398f8/download.sqlar
/sqlar?r=508c42a6398f8&name=download.sqlar
/sqlar/download.sqlar?r=508c42a6398f8
/sqlar?name=508c42a6398f8/download.sqlar
Query parameters:
name=NAME 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 parameter 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.
- /srchsetup (web page)
-
Configure the search engine. Requires Admin privilege.
- /stat (web page)
-
Show statistics and global information about the repository.
- /style.css (web page)
-
Return the style sheet.
- /subscribe (web page)
-
Allow users to subscribe to email notifications.
This page is usually run by users who are not logged in.
A logged-in user can add email notifications on the /alerts page.
Access to this page by a logged in user (other than an
administrator) results in a redirect to the /alerts page.
Administrators can visit this page in order to sign up other
users.
The Alerts permission ("7") is required to access this
page. To allow anonymous passers-by to sign up for email
notification, set Email-Alerts on user "nobody" or "anonymous".
- /subscribers (web page)
-
This page, accessible to administrators only,
shows a list of subscriber email addresses.
Clicking on an email takes one to the /alerts page
for that email where the delivery settings can be
modified.
- /taglist (web page)
-
List all non-propagating symbolic tags.
- /tagtimeline (web page)
-
Render a timeline with all check-ins that contain non-propagating
symbolic tags.
Query parameters:
ng No graph
nohidden Hide check-ins with "hidden" tag
onlyhidden Show only check-ins with "hidden" tag
brbg Background color by branch name
ubg Background color by user name
- /takeitprivate (web page)
-
Disable anonymous access to this website
- /tarball (web page)
-
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.
The r= and name= query parameters can be specified as extensions to the
URI. Example, the following URIs are all equivalent:
/tarball/release/xyz.tar.gz
/tarball?r=release&name=xyz.tar.gz
/tarball/xyz.tar.gz?r=release
/tarball?name=release/xyz.tar.gz
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 the name= query parameter
contains one "/" character then the part before the /
is the TAG and the part after the / is the true name.
If no TAG is specified by any of the above means, then
"trunk" is used as the default.
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 (web page)
-
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 (web page)
-
Revise or create a technical note (formerly called an "event").
Required query parameter:
name=ID Hex hash ID of the technote. If omitted, a new
tech-note is created.
POST parameters from the "Cancel", "Preview", or "Submit" buttons:
w=TEXT Complete text of the technote.
t=TEXT Time of the technote on the timeline (ISO 8601)
c=TEXT Timeline comment
g=TEXT Tags associated with this technote
mimetype=TEXT Mimetype for w= text
newclr Use a background color
clr=TEXT Background color to use if newclr
For GET requests, when editing an existing technote newclr and clr
are implied if a custom color has been set on the previous version
of the technote.
- /test-all-help (web page)
-
Show all help text on a single page. Useful for proof-reading.
- /test-backlink-timeline (web page)
-
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-backlinks (web page)
-
Show a table of all backlinks. Admin access only.
- /test-builtin-files (web page)
-
Show all built-in text files.
- /test-captcha (web page)
-
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-captcha-audio (web page)
-
Return a WAV file that pronounces the hex digits of the name=
query parameter.
- /test-ftsdocs (web page)
-
Show a table of all documents currently in the search index.
- /test-piechart (web page)
-
Generate a pie-chart based on data input from a form.
- /test-rename-list (web page)
-
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-warning (web page)
-
Test error and warning log operation. This webpage is accessible to
the administrator only.
case=1 Issue a fossil_warning() while generating the page.
case=2 Extra db_begin_transaction()
case=3 Extra db_end_transaction()
case=4 Error during SQL processing
case=5 Call the segfault handler
case=6 Call webpage_assert()
case=7 Call webpage_error()
- /test_env (web page)
-
Display CGI-variables and other aspects of the run-time
environment, for debugging and trouble-shooting purposes.
- /thisdayinhistory (web page)
-
Generate a vanity page that shows project activity for the current
day of the year for various years in the history of the project.
Query parameters:
today=DATE Use DATE as today's date
- /ticket (web page)
-
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 (web page)
-
Query parameters:
a=TIMEORTAG After this event
b=TIMEORTAG Before this event
c=TIMEORTAG "Circa" this event
cf=FILEHASH "Circa" the first use of the file with FILEHASH
m=TIMEORTAG Mark this event
n=COUNT Maximum number of events. "all" for no limit
p=CHECKIN Parents and ancestors of CHECKIN
d=CHECKIN Children and descendants of CHECKIN
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
nowiki Do not show wiki associated with branch or tag
ms=MATCHSTYLE Set tag match style to EXACT, GLOB, LIKE, REGEXP
u=USER Only show items associated with USER
y=TYPE 'ci', 'w', 't', 'n', 'e', 'f', or 'all'.
ss=VIEWSTYLE c: "Compact" v: "Verbose" m: "Modern" j: "Columnar"
advm Use the "Advanced" or "Busy" menu design.
ng No Graph.
ncp Omit cherrypick merges
nd Do not highlight the focus check-in
nsm Omit the submenu
v Show details of files changed
vfx Show complete text of forum messages
f=CHECKIN Show family (immediate parents and children) of CHECKIN
from=CHECKIN Path from...
to=CHECKIN ... to this
shortest ... show only the shortest path
rel ... also show related checkins
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
cherrypicks Show all cherrypicks
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
yw=YYYY-MM-DD Show events for the week that includes the given day
ymd=YYYY-MM-DD Show only events on the given day
days=N Show events over the previous N days
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.
CHECKIN or TIMEORTAG can be a check-in hash prefix, or a tag, or the
name of a branch.
- /timeline.rss (web page)
-
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 ticket changes only),
w (show wiki only), e (show tech notes only), f (show forum posts only),
g (show tag/branch changes 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 (web page)
-
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 (web page)
-
URL: /tinfo?name=ARTIFACTID
Show the details of a ticket change control artifact.
- /tktedit (web page)
-
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 (web page)
-
URL: /tkthistory?name=TICKETUUID
Show the complete change history for a single ticket. Or (to put it
another way) show a list of artifacts associated with a single ticket.
By default, the artifacts are decoded and formatted. Text fields
are formatted as text/plain, since in the general case Fossil does
not have knowledge of the encoding. If the "raw" query parameter
is present, then the* undecoded and unformatted text of each artifact
is displayed.
- /tktnew (web page)
-
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 (web page)
-
Main sub-menu for configuring the ticketing system.
- /tktsetup_change (web page)
-
Administrative screen used to view or edit the TH1 script
that shows ticket changes.
- /tktsetup_com (web page)
-
Administrative page used to define TH1 script that is
common to all ticket screens.
- /tktsetup_editpage (web page)
-
Administrative page for viewing or editing the TH1 script that
drives the ticket editing page.
- /tktsetup_keytplt (web page)
-
Administrative page used to view or edit the Key template
for tickets.
- /tktsetup_newpage (web page)
-
Administrative page used to view or edit the TH1 script used
to enter new tickets.
- /tktsetup_reportlist (web page)
-
Administrative page used to view or edit the TH1 script that
defines the "report list" page.
- /tktsetup_rpttplt (web page)
-
Administrative page used to view or edit the ticket report
template.
- /tktsetup_tab (web page)
-
Administrative page for defining the "ticket" table used
to hold ticket information.
- /tktsetup_timeline (web page)
-
Administrative page used ot configure how tickets are
rendered on timeline views.
- /tktsetup_viewpage (web page)
-
Administrative page used to view or edit the TH1 script that
displays individual tickets.
- /tktsrch (web page)
-
Usage: /tktsrch?s=PATTERN
Full-text search of all current tickets
- /tkttimeline (web page)
-
URL: /tkttimeline/TICKETUUID
Show the change history for a single ticket in timeline format.
Query parameters:
y=ci Show only check-ins associated with the ticket
- /tktview (web page)
-
URL: tktview?name=HASH
View a ticket identified by the name= query parameter.
Other query parameters:
tl Show a timeline of the ticket above the status
- /tree (web page)
-
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
- /unsubscribe (web page)
-
Users visit this page to be delisted from email alerts.
If a valid subscriber code is supplied in the name= query parameter,
then that subscriber is delisted.
Otherwise, If the users is logged in, then they are redirected
to the /alerts page where they have an unsubscribe button.
Non-logged-in users with no name= query parameter are invited to enter
an email address to which will be sent the unsubscribe link that
contains the correct subscriber code.
- /urllist (web page)
-
Show ways in which this repository has been accessed
- /uv (web page)
-
URL: /uv/FILE
URL: /doc/CHECKIN/FILE
CHECKIN can be either tag or hash prefix or timestamp identifying a
particular check-in, 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"
"latest" means use the most recent check-in for the document
regardless of what branch it occurs on.
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. For /uv, FILE
can also be the hash of the unversioned 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 (web page)
-
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 (web page)
-
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
diff=INTEGER 0: none, 1: unified, 2: side-by-side
glob=STRING only diff files matching this glob
dc=N show N lines of context around each diff
w=BOOLEAN ignore whitespace when computing diffs
nohdr omit the description at the top of the page
Show all differences between two check-ins.
- /version (web page)
-
Show the version information for Fossil.
Query parameters:
verbose Show details
- /vinfo (web page)
-
URL: /ci/ARTIFACTID
OR: /ci?name=ARTIFACTID
Display information about a particular check-in. The exact
same information is shown on the /info page if the name query
parameter to /info describes a check-in.
The ARTIFACTID can be a unique prefix for the HASH of the check-in,
or a tag or branch name that identifies the check-in.
- /vpatch (web page)
-
URL: /vpatch?from=FROM&to=TO
Show a patch that goes from check-in FROM to check-in TO.
- /waliassetup (web page)
-
Configure the URL aliases
- /wcontent (web page)
-
all=1 Show deleted pages
showid Show rid values for each page.
List all available wiki pages with date created and last modified.
- /wdiff (web page)
-
Show the changes to a wiki page.
Query parameters:
id=HASH Hash prefix for the child version to be diffed.
rid=INTEGER RecordID for the child version
pid=HASH Hash prefix for the parent.
The "id" query parameter is required. "pid" is optional. If "pid"
is omitted, then the diff is against the first parent of the child.
- /webmail (web page)
-
This page can be used to read content from the EMAILBOX table
that contains email received by the "fossil smtpd" command.
Query parameters:
id=N Show a single email entry emailbox.ebid==N
f=N Display format. 0: decoded 1: raw
user=USER Show mailbox for USER (admin only).
user=* Show mailbox for all users (admin only).
d=N 0: inbox+unread 1: unread-only 2: trash 3: all
eN Select email entry emailbox.ebid==N
trash Move selected entries to trash (estate=2)
read Mark selected entries as read (estate=1)
unread Mark selected entries as unread (estate=0)
- /wfind (web page)
-
URL: /wfind?title=TITLE
List all wiki pages whose titles contain the search text
- /whatis (web page)
-
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=NAME - filename or hash as a query parameter
filename=NAME - alternative spelling for "name="
fn=NAME - alternative spelling for "name="
ci=VERSION - The specific check-in to use with "name=" to
identify the file.
The /artifact page show the complete content of a file
identified by HASH. The /whatis page shows only a description
of how the artifact is used. 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.
For /artifact and /whatis, the name= query parameter can refer to
either the name of a file, or an artifact hash. If the ci= query
parameter is also present, then name= must refer to a file name.
If ci= is omitted, then the hash interpretation is preferred but
if name= cannot be understood as a hash, a default "tip" value is
used for ci=.
For /file, name= can only be interpreted as a filename. As before,
a default value of "tip" is used for ci= if ci= is omitted.
- /whistory (web page)
-
URL: /whistory?name=PAGENAME
Additional parameters:
showid Show RID values
Show the complete change history for a single wiki page.
- /wiki (web page)
-
Display a wiki page. Example: /wiki?name=PAGENAME
Query parameters:
name=NAME Name of the wiki page to display. Required.
nsm Omit the submenu if present. (Mnemonic: No SubMenu)
p Always show just the wiki page. For special
pages for check-ins, branches, or tags, there will
be a redirect to the associated /info page unless
this query parameter is present.
- /wiki_rules (web page)
-
Show a summary of the wiki formatting rules.
- /wikiappend (web page)
-
URL: /wikiappend?name=PAGENAME&mimetype=MIMETYPE
Append text to the end of a wiki page.
- /wikiedit (web page)
-
URL: /wikiedit?name=PAGENAME
Edit a wiki page.
- /wikihelp (web page)
-
A generic landing page for wiki.
- /wikinew (web page)
-
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 (web page)
-
Usage: /wikisrch?s=PATTERN
Full-text search of all current wiki text
- /winfo (web page)
-
URL: /winfo?name=UUID
Display information about a wiki page.
- /xfer (raw-content web page)
-
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 (web page)
-
Main sub-menu for configuring the transfer system.
- /xfersetup_com (web page)
-
View or edit the TH1 script that runs prior to receiving a
transfer.
- /xfersetup_commit (web page)
-
View or edit the TH1 script that runs when a transfer commit
is processed.
- /xfersetup_push (web page)
-
View or edit the TH1 script that runs after receiving a "push".
- /xfersetup_ticket (web page)
-
View or edit the TH1 script that runs when a ticket change artifact
is processed during a transfer.
- /zip (web page)
-
Generate a ZIP or SQL archive for the check-in specified by the "r"
query parameter. Return the archive as the HTTP reply content.
If the NAME contains one "/" then the part before the "/" is taken
as the TAG and the part after the "/" becomes the true name. Hence,
the following URLs are all equivalent:
/sqlar/508c42a6398f8/download.sqlar
/sqlar?r=508c42a6398f8&name=download.sqlar
/sqlar/download.sqlar?r=508c42a6398f8
/sqlar?name=508c42a6398f8/download.sqlar
Query parameters:
name=NAME 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 parameter 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 (2nd tier command)
-
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
- access-log (boolean setting)
-
When the access-log setting is enabled, all login attempts (successful
and unsuccessful) on the web interface are recorded in the "access" table
of the repository.
- add (1st tier command)
-
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-separated 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.
See also: addremove, rm
- addremove (1st tier command)
-
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.
See also: add, rm
- admin-log (boolean setting)
-
When the admin-log setting is enabled, configuration changes are recorded
in the "admin_log" table of the repository.
- alerts (2nd tier command)
-
Usage: fossil alerts SUBCOMMAND ARGS...
Subcommands:
pending Show all pending alerts. Useful for debugging.
reset Hard reset of all email notification tables
in the repository. This erases all subscription
information. ** Use with extreme care **
send Compose and send pending email alerts.
Some installations may want to do this via
a cron-job to make sure alerts are sent
in a timely manner.
Options:
--digest Send digests
--test Write to standard output
settings [NAME VALUE] With no arguments, list all email settings.
Or change the value of a single email setting.
status Report on the status of the email alert
subsystem
subscribers [PATTERN] List all subscribers matching PATTERN.
test-message TO [OPTS] Send a single email message using whatever
email sending mechanism is currently configured.
Use this for testing the email notification
configuration. Options:
--body FILENAME
--smtp-trace
--stdout
--subject|-S SUBJECT
unsubscribe EMAIL Remove a single subscriber with the given EMAIL.
- all (1st tier command)
-
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
and --unversioned options are 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.
- allow-symlinks (versionable boolean setting)
-
When allow-symlinks is OFF, symbolic links in the repository are followed
and treated no differently from real files. When allow-symlinks is ON,
the object to which the symbolic link points is ignored, and the content
of the symbolic link that is stored in the repository is the name of the
object to which the symbolic link points.
- amend (1st tier command)
-
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
-n|--dry-run Print control artifact, but make no changes
--date-override DATETIME Set the change time on the control artifact
--user-override USER Set the user name on the control artifact
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 (1st tier command)
-
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 version currently checked out is shown by default.
Other versions may be specified using the -r option. The "annotate" command
shows line numbers and omits the username. The "blame" and "praise" commands
show the user who made each check-in.
Reverse Annotations: Normally, these commands look at versions of
FILENAME moving backwards in time back toward the root check-in, and
thus the output shows the most recent change to each line. However,
if the -o|--origin option is used to specify some future check-in
(example: "-o trunk") then these commands show changes moving towards
that alternative origin. Thus using "-o trunk" on an historical version
of the file shows the first time each line in the file was changed or
removed by any subsequent check-in.
Options:
--filevers Show file version numbers rather than
check-in versions
-r|--revision VERSION The specific check-in containing the file
-l|--log List all versions analyzed
-n|--limit LIMIT Limit the amount of analysis:
N Up to N versions
Xs As much as possible in X seconds
none No limit
-o|--origin VERSION The origin check-in. By default this is the
root of the repository. Set to "trunk" or
similar for a reverse annotation.
-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 (2nd tier command)
-
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 (2nd tier command)
-
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.
- auto-captcha (boolean setting)
-
If enabled, the /login page provides a button that will automatically
fill in the captcha password. This makes things easier for human users,
at the expense of also making logins easier for malicious robots.
- auto-hyperlink (boolean setting)
-
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.
- auto-shun (boolean setting)
-
If enabled, automatically pull the shunning list
from a server to which the client autosyncs.
- autosync (setting)
-
This setting can take either a boolean value or "pullonly"
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.
- autosync-tries (setting)
-
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.
- backoffice (2nd tier command)
-
Usage: backoffice [OPTIONS...] [REPOSITORIES...]
Run backoffice processing on the repositories listed. If no
repository is specified, run it on the repository of the local checkout.
This might be done by a cron job or similar to make sure backoffice
processing happens periodically. Or, the --poll option can be used
to run this command as a daemon that will periodically invoke backoffice
on collection of repositories.
OPTIONS:
--debug Show what this command is doing.
--nodelay Do not queue up or wait for a backoffice job
to complete. If no work is available or if
backoffice has run recently, return immediately.
The --nodelay option is implied if more than
one repository is listed on the command-line.
--poll N Repeat backoffice calls for repositories that
change in appoximately N-second intervals.
N less than 1 turns polling off (the default).
--trace Enable debugging output on stderr
- backoffice-disable (boolean setting)
-
If backoffice-disable is true, then the automatic backoffice
processing is disabled. Automatic backoffice processing is the
backoffice work that normally runs after each web page is
rendered. Backoffice processing that is triggered by the
"fossil backoffice" command is unaffected by this setting.
Backoffice processing does things such as delivering
email notifications. So if this setting is true, and if
there is no cron job periodically running "fossil backoffice",
email notifications and other work normally done by the
backoffice will not occur.
- backoffice-logfile (setting)
-
If backoffice-logfile is not an empty string and is a valid
filename, then a one-line message is appended to that file
every time the backoffice runs. This can be used for debugging,
to ensure that backoffice is running appropriately.
- backoffice-nodelay (boolean setting)
-
If backoffice-nodelay is true, then the backoffice processing
will never invoke sleep(). If it has nothing useful to do,
it simply exits.
- binary-glob (versionable block-text setting)
-
The VALUE of this setting is a comma or newline-separated list of
GLOB patterns that should be treated as binary files
for committing and merging purposes. Example: *.jpg
- bisect (1st tier command)
-
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 (1st tier command)
-
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 version currently checked out is shown by default.
Other versions may be specified using the -r option. The "annotate" command
shows line numbers and omits the username. The "blame" and "praise" commands
show the user who made each check-in.
Reverse Annotations: Normally, these commands look at versions of
FILENAME moving backwards in time back toward the root check-in, and
thus the output shows the most recent change to each line. However,
if the -o|--origin option is used to specify some future check-in
(example: "-o trunk") then these commands show changes moving towards
that alternative origin. Thus using "-o trunk" on an historical version
of the file shows the first time each line in the file was changed or
removed by any subsequent check-in.
Options:
--filevers Show file version numbers rather than
check-in versions
-r|--revision VERSION The specific check-in containing the file
-l|--log List all versions analyzed
-n|--limit LIMIT Limit the amount of analysis:
N Up to N versions
Xs As much as possible in X seconds
none No limit
-o|--origin VERSION The origin check-in. By default this is the
root of the repository. Set to "trunk" or
similar for a reverse annotation.
-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 (1st tier command)
-
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 current
Print the name of the branch for the current check-out
fossil branch info BRANCH-NAME
Print information about a branch
fossil branch list|ls ?OPTIONS?
List all branches. Options:
-a|--all List all branches. Default show only open branches
-c|--closed List closed branches.
-r Reverse the sort order
-t Show recently changed branches first
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.
Options:
-R|--repository FILE Run commands on repository FILE
Summary:
fossil branch current
fossil branch info BRANCHNAME
fossil branch [list|ls]
fossil branch new
- bundle (1st tier command)
-
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 (2nd tier command)
-
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.
- case-sensitive (boolean setting)
-
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.
- cat (1st tier command)
-
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 (2nd tier command)
-
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.
timeout: SECONDS Do not run for longer than SECONDS. The default
timeout is FOSSIL_DEFAULT_TIMEOUT (600) seconds.
extroot: DIR Directory that is the root of the sub-CGI tree
on the /ext page.
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 (1st tier command)
-
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.
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 (2nd tier command)
-
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
--setmtime Set timestamps of all files to match their SCM-side
times (the timestamp of the last checkin which modified
them).
See also: update
- ci (2nd tier command)
-
Usage: fossil commit ?OPTIONS? ?FILE...?
or: fossil ci ?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
--override-lock allow a check-in even though parent is locked
--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 (1st tier command)
-
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 --force, --emptydirs, --dotfiles, and --disable-undo. 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 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.
--temp Remove only Fossil-generated temporary files.
-v|--verbose Show all files as they are removed.
See also: addremove, extras, status
- clean-glob (versionable block-text setting)
-
The VALUE of this setting is a comma or newline-separated list of GLOB
patterns specifying files that the "clean" command will
delete without prompting or allowing undo.
Example: *.a,*.lib,*.o
- clearsign (boolean setting)
-
When enabled, fossil will attempt to sign all commits
with gpg. When disabled, commits will be unsigned.
- clone (1st tier command)
-
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
--httpauth|-B USER:PASS Add HTTP Basic Authorization to requests
--nocompress Omit extra delta compression
--once Don't remember the URI.
--private Also clone private branches
--save-http-password Remember the HTTP password without asking
--ssh-command|-c SSH Use SSH as the "ssh" command
--ssl-identity FILENAME Use the SSL identity if requested by the server
-u|--unversioned Also sync unversioned content
-v|--verbose Show more statistics in output
See also: init
- close (2nd tier command)
-
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 (2nd tier command)
-
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
--setmtime Set timestamps of all files to match their SCM-side
times (the timestamp of the last checkin which modified
them).
See also: update
- comment-format (setting)
-
Set the default options for printing timeline comments to the console.
The global --comfmtflags command-line option (or alias --comment-format)
overrides this setting.
Possible values are:
1 Activate the legacy comment printing format (default).
Or a bitwise combination of the following flags:
0 Activate the newer (non-legacy) comment printing format.
2 Trim leading and trailing CR and LF characters.
4 Trim leading and trailing white space characters.
8 Attempt to break lines on word boundaries.
16 Break lines before the original comment embedded in other text.
Note: To preserve line breaks, activate the newer (non-legacy) comment
printing format (i.e. set to "0", or a combination not including "1").
Note: The options for timeline comments displayed on the web UI can be
configured through the /setup_timeline web page.
- commit (1st tier command)
-
Usage: fossil commit ?OPTIONS? ?FILE...?
or: fossil ci ?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
--override-lock allow a check-in even though parent is locked
--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 (2nd tier command)
-
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 alias subscriber
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 --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.
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
- crlf-glob (versionable block-text setting)
-
The value is a comma or newline-separated list of GLOB patterns for
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.
- crnl-glob (versionable block-text setting)
-
This is an alias for the crlf-glob setting.
- dbstat (2nd tier command)
-
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 (2nd tier command)
-
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.
-K|--keep-rid1 Save the filename of the artifact with RID=1 to
the file .rid1 in the DESTINATION directory.
-L|--prefixlength N Set the length of the names of the DESTINATION
subdirectories to N.
--private Include private artifacts.
-P|--keep-private Save the list of private artifacts to the file
.private in the DESTINATION directory (implies
the --private option).
See also: reconstruct, rebuild
- default-csp (block-text setting)
-
The text of the Content Security Policy that is included
in the Content-Security-Policy: header field of the HTTP
reply and in the default HTML <head> section that is added when the
skin header does not specify a <head> section. The text "$nonce"
is replaced by the random nonce that is created for each web page.
If this setting is an empty string or is omitted, then
the following default Content Security Policy is used:
default-src 'self' data:;
script-src 'self' 'nonce-$nonce';
style-src 'self' 'unsafe-inline';
The default CSP is recommended. The main reason to change
this setting would be to add CDNs from which it is safe to
load additional content.
- default-perms (setting)
-
Permissions given automatically to new users. For more
information on permissions see the Users page in Server
Administration of the HTTP UI.
- delete (1st tier command)
-
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.
See also: addremove, add
- descendants (2nd tier command)
-
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 (1st tier command)
-
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
--new-file|-N Show complete text of added and deleted files
--numstat Show only the number of lines delete and added
--side-by-side|-y Side-by-side diff
--strip-trailing-cr Strip trailing CR
--tclsh PATH Tcl/Tk used for --tk (default: "tclsh")
--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
- diff-binary (boolean setting)
-
If enabled, permit files that may be binary
or that match the "binary-glob" setting to be used with
external diff programs. If disabled, skip these files.
- diff-command (setting)
-
The value is an external command to run when performing a diff.
If undefined, the internal text diff will be used.
- dont-push (boolean setting)
-
If enabled, prevent this repository from pushing from client to
server. This can be used as an extra precaution to prevent
accidental pushes to a public server from a private clone.
- dotfiles (versionable boolean setting)
-
If enabled, include --dotfiles option for all compatible commands.
- editor (setting)
-
The value is an external command that will launch the
text editor command used for check-in comments.
- email-admin (setting)
-
This is the email address for the human administrator for the system.
Abuse and trouble reports and password reset requests are send here.
- email-self (setting)
-
This is the email address for the repository. Outbound emails add
this email address as the "From:" field.
- email-send-command (setting)
-
This is a command to which outbound email content is piped when the
email-send-method is set to "pipe". The command must extract
recipient, sender, subject, and all other relevant information
from the email header.
- email-send-db (setting)
-
This is an SQLite database file into which outbound emails are written
if the email-send-method is set to "db".
- email-send-dir (setting)
-
This is a directory into which outbound emails are written as individual
files if the email-send-method is set to "dir".
- email-send-method (setting)
-
Determine the method used to send email. Allowed values are
"off", "relay", "pipe", "dir", "db", and "stdout". The "off" value
means no email is ever sent. The "relay" value means emails are sent
to an Mail Sending Agent using SMTP located at email-send-relayhost.
The "pipe" value means email messages are piped into a command
determined by the email-send-command setting. The "dir" value means
emails are written to individual files in a directory determined
by the email-send-dir setting. The "db" value means that emails
are added to an SQLite database named by the* email-send-db setting.
The "stdout" value writes email text to standard output, for debugging.
- email-send-relayhost (setting)
-
This is the hostname and TCP port to which output email messages
are sent when email-send-method is "relay". There should be an
SMTP server configured as a Mail Submission Agent listening on the
designated host and port and all times.
- email-subname (setting)
-
This is a short name used to identifies the repository in the Subject:
line of email alerts. Traditionally this name is included in square
brackets. Examples: "[fossil-src]", "[sqlite-src]".
- email-url (setting)
-
This URL is used as the basename for hyperlinks included in email alert
text. Omit the trailing "/".
- empty-dirs (versionable block-text setting)
-
The value is a comma or newline-separated list of pathnames. On
update and checkout commands, if no file or directory
exists with that name, an empty directory will be
created.
- encoding-glob (versionable block-text setting)
-
The value is a comma or newline-separated list of GLOB
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 (boolean setting)
-
When executing certain external commands (e.g. diff and
gdiff), use relative paths.
- export (2nd tier command)
-
This command is deprecated. Use "fossil git export" instead.
- extras (1st tier command)
-
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
--rel-paths Display pathnames relative to the current working
directory.
See also: changes, clean, status
- finfo (1st tier command)
-
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.
--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
- forbid-delta-manifests (boolean setting)
-
If enabled, new delta manifests are prohibited.
- forget (2nd tier command)
-
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.
See also: addremove, add
- fts-config (2nd tier command)
-
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 cdtwe Enable various kinds of search. c=Check-ins,
d=Documents, t=Tickets, w=Wiki, e=Tech Notes.
disable cdtwe 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 (1st tier command)
-
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
--new-file|-N Show complete text of added and deleted files
--numstat Show only the number of lines delete and added
--side-by-side|-y Side-by-side diff
--strip-trailing-cr Strip trailing CR
--tclsh PATH Tcl/Tk used for --tk (default: "tclsh")
--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
- gdiff-command (setting)
-
The value is an external command to run when performing a graphical
diff. If undefined, text diff will be used.
- git (1st tier command)
-
Usage: fossil git SUBCOMMAND
Do incremental import or export operations between Fossil and Git.
Subcommands:
fossil git export [MIRROR] [OPTIONS]
Write content from the Fossil repository into the Git repository
in directory MIRROR. The Git repository is created if it does not
already exist. If the Git repository does already exist, then
new content added to fossil since the previous export is appended.
Repeat this command whenever new checkins are added to the Fossil
repository in order to reflect those changes into the mirror. If
the MIRROR option is omitted, the repository from the previous
invocation is used.
The MIRROR directory will contain a subdirectory named
".mirror_state" that contains information that Fossil needs to
do incremental exports. Do not attempt to manage or edit the files
in that directory since doing so can disrupt future incremental
exports.
Options:
--autopush URL Automatically do a 'git push' to URL. The
URL is remembered and used on subsequent exports
to the same repository. Or if URL is "off" the
auto-push mechanism is disabled
--debug FILE Write fast-export text to FILE rather than
piping it into "git fast-import".
--force|-f Do the export even if nothing has changed
--limit N Add no more than N new check-ins to MIRROR.
Useful for debugging
--quiet|-q Reduce output. Repeat for even less output.
--verbose|-v More output.
fossil git import MIRROR
TBD...
fossil git status
Show the status of the current Git mirror, if there is one.
- gmerge-command (setting)
-
The value is a graphical merge conflict resolver command operating
on four files. Examples:
kdiff3 "%baseline" "%original" "%merge" -o "%output"
xxdiff "%original" "%baseline" "%merge" -M "%output"
meld "%baseline" "%original" "%merge" "%output"
- grep (1st tier command)
-
Usage: fossil grep [OPTIONS] PATTERN FILENAME ...
Attempt to match the given POSIX extended regular expression PATTERN
historic versions of FILENAME. The search begins with the most recent
version of the file and moves backwards in time. Multiple FILENAMEs can
be specified, in which case all named files are searched in reverse
chronological order.
For details of the supported regular expression dialect, see
https://fossil-scm.org/fossil/doc/trunk/www/grep.md
Options:
-c|--count Suppress normal output; instead print a count
of the number of matching files
-i|--ignore-case Ignore case
-l|--files-with-matches List only hash for each match
--once Stop searching after the first match
-s|--no-messages Suppress error messages about nonexistant
or unreadable files
-v|--invert-match Invert the sense of matching. Show only
files that have no matches. Implies -l
--verbose Show each file as it is analyzed
- hash-digits (setting)
-
The number of hexadecimal digits of the SHA3 hash to display.
- hash-policy (2nd tier command)
-
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 (1st tier command)
-
Usage: fossil help TOPIC
or: fossil TOPIC --help
Display information on how to use TOPIC, which may be a command, webpage, or
setting. Webpage names begin with "/". To display a list of available
topics, use one of:
fossil help Show common commands
fossil help -a|--all Show both common and auxiliary commands
fossil help -o|--options Show command-line options common to all cmds
fossil help -s|--setting Show setting names
fossil help -t|--test Show test commands only
fossil help -x|--aux Show auxiliary commands only
fossil help -w|--www Show list of webpages
- http (2nd tier command)
-
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)
--extroot DIR document root for the /ext extension mechanism
--files GLOB comma-separate glob patterns for static file to serve
--host NAME specify hostname of the server
--https signal a request coming in via https
--in FILE Take input from FILE instead of standard input
--ipaddr ADDR Assume the request comes from the given IP address
--localauth enable automatic login for local connections
--nocompress do not compress HTTP replies
--nodelay omit backoffice processing if it would delay process exit
--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.
--out FILE write results to FILE instead of to standard output
--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
- http-port (setting)
-
The default TCP/IP port number to use by the "server"
and "ui" commands.
- https-login (boolean setting)
-
If true, then the Fossil web server will redirect unencrypted
login screen requests to HTTPS.
- ignore-glob (versionable block-text setting)
-
The value is a comma or newline-separated list of GLOB
patterns specifying files that the "add", "addremove",
"clean", and "extras" commands will ignore.
Example: *.log customCode.c notes.txt
- import (1st tier command)
-
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
--use-author Uses author as the committer
--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
--admin-user|-A NAME use NAME for the admin user
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 --admin-user
option is ignored if --incremental is specified.
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 (1st tier command)
-
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
all known 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 (1st tier command)
-
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
- keep-glob (versionable block-text setting)
-
The value is a comma or newline-separated list of GLOB
patterns specifying files that the "clean" command will keep.
- leaves (2nd tier command)
-
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
- localauth (boolean setting)
-
If enabled, require that HTTP connections from the loopback
address (127.0.0.1) be authenticated by password. If false,
some HTTP requests might be granted full "Setup" user
privileges without having to present login credentials.
This mechanism allows the "fossil ui" command to provide
full access to the repository without requiring the user to
log in first.
In order for full "Setup" privilege to be granted without a
login, the following conditions must be met:
(1) This setting ("localauth") must be off
(2) The HTTP request arrive over the loopback TCP/IP
address (127.0.01) or else via SSH.
(3) The request must be HTTP, not HTTPS. (This
restriction is designed to help prevent accidentally
providing "Setup" privileges to requests arriving
over a reverse proxy.)
(4) The command that launched the fossil server must be
one of the following:
(a) "fossil ui"
(b) "fossil server" with the --localauth option
(c) "fossil http" with the --localauth option
(d) CGI with the "localauth" setting in the cgi script.
For maximum security, set "localauth" to 1. However, because
of the other restrictions (2) through (4), it should be safe
to leave "localauth" set to 0 in most installations, and
especially on cloned repositories on workstations. Leaving
"localauth" at 0 makes the "fossil ui" command more convenient
to use.
- lock-timeout (setting)
-
This is the number of seconds that a check-in lock will be held on
the server before the lock expires. The default is a 60-second delay.
Set this value to zero to disable the check-in lock mechanism.
This value should be set on the server to which users auto-sync
their work. This setting has no affect on client repositories. The
check-in lock mechanism is only effective if all users are auto-syncing
to the same server.
Check-in locks are an advisory mechanism designed to help prevent
accidental forks due to a check-in race in installations where many
user are committing to the same branch and auto-sync is enabled.
As forks are harmless, there is no danger in disabling this mechanism.
However, keeping check-in locks turned on can help prevent unnecessary
confusion.
- login-group (2nd tier command)
-
Usage: fossil login-group
or: fossil login-group join REPO [-name NAME]
or: fossil login-group leave
With no arguments, this command shows the login-group to which the
repository belongs.
The "join" command adds this repository to login group to which REPO
belongs, or creates a new login group between itself and REPO if REPO
does not already belong to a login-group. When creating a new login-
group, the name of the new group is determined by the "--name" option.
The "leave" command takes the repository out of whatever login group
it is currently a part of.
About Login Groups:
A login-group is a set of repositories that share user credentials.
If a user is logged into one member of the group, then that user can
access any other group member as long as they have an entry in the
USER table of that member. If a user changes their password using
web interface, their password is also automatically changed in every
other member of the login group.
- ls (1st tier command)
-
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
- main-branch (setting)
-
The value is the primary branch for the project.
- manifest (versionable setting)
-
If enabled, automatically create 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.
- max-loadavg (setting)
-
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 (setting)
-
A limit on the size of uplink HTTP requests.
- md5sum (2nd tier command)
-
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 (1st tier command)
-
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.
Options:
--backout Do a reverse cherrypick merge against VERSION.
In other words, back out the changes that were
added by VERSION.
--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.
--cherrypick Do a cherrypick merge VERSION into the current
checkout. A cherrypick merge pulls in the changes
of the single check-in VERSION, rather than all
changes back to the nearest common ancestor.
-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.
-K|--keep-merge-files On merge conflict, retain the temporary files
used for merging, named *-baseline, *-original,
and *-merge.
-n|--dry-run If given, display instead of run actions
-v|--verbose Show additional details of the merge
- mimetypes (versionable block-text setting)
-
A list of file extension-to-mimetype mappings, one per line. e.g.
"foo application/x-foo". File extensions are compared
case-insensitively in the order listed in this setting. A leading
'.' on file extensions is permitted but not required.
- mtime-changes (boolean setting)
-
Use file modification times (mtimes) to detect when
files have been modified. If disabled, all managed files
are hashed to detect changes, which can be slow for large
projects.
- mv (1st tier command)
-
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.
See also: changes, status
- mv-rm-files (boolean setting)
-
If enabled, 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.
- new (2nd tier command)
-
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 (1st tier command)
-
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
--setmtime Set timestamps of all files to match their SCM-side
times (the timestamp of the last checkin which modified
them).
See also: close
- pgp-command (setting)
-
Command used to clear-sign manifests at check-in.
Default value is "gpg --clearsign -o"
- pop3d (2nd tier command)
-
Usage: fossil pop3d [OPTIONS] REPOSITORY
Begin a POP3 conversation with a client using stdin/stdout using
the mailboxes stored in REPOSITORY.
If launched as root, the process first enters a chroot jail using
the directory of REPOSITORY as root, then drops all privileges and
assumes the user and group of REPOSITORY before reading any content
off of the wire.
--logdir DIR Each pop3d session creates a new logfile
in the directory DIR and records a transcript
of the session there. The logfile is opened
before entering the chroot jail.
- praise (1st tier command)
-
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 version currently checked out is shown by default.
Other versions may be specified using the -r option. The "annotate" command
shows line numbers and omits the username. The "blame" and "praise" commands
show the user who made each check-in.
Reverse Annotations: Normally, these commands look at versions of
FILENAME moving backwards in time back toward the root check-in, and
thus the output shows the most recent change to each line. However,
if the -o|--origin option is used to specify some future check-in
(example: "-o trunk") then these commands show changes moving towards
that alternative origin. Thus using "-o trunk" on an historical version
of the file shows the first time each line in the file was changed or
removed by any subsequent check-in.
Options:
--filevers Show file version numbers rather than
check-in versions
-r|--revision VERSION The specific check-in containing the file
-l|--log List all versions analyzed
-n|--limit LIMIT Limit the amount of analysis:
N Up to N versions
Xs As much as possible in X seconds
none No limit
-o|--origin VERSION The origin check-in. By default this is the
root of the repository. Set to "trunk" or
similar for a reverse annotation.
-w|--ignore-all-space Ignore white space when comparing lines
-Z|--ignore-trailing-space Ignore whitespace at line end
See also: info, finfo, timeline
- proxy (setting)
-
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.
- publish (1st tier command)
-
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 (1st tier command)
-
Usage: fossil pull ?URL? ?options?
Pull all sharable changes from a remote repository into the local
repository. Sharable changes include public check-ins, edits to
wiki pages, tickets, and tech-notes, as well as forum content. 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
--private Pull private branches too
--project-code CODE Use CODE as the project code
--proxy PROXY Use the specified HTTP proxy
-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 (2nd tier command)
-
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 (1st tier command)
-
Usage: fossil push ?URL? ?options?
Push all sharable changes from the local repository to a remote
repository. Sharable changes include public check-ins, edits to
wiki pages, tickets, and tech-notes, as well as forum content. 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 (1st tier command)
-
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 (2nd tier command)
-
Usage: fossil reconstruct ?OPTIONS? 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.
Options:
-K|--keep-rid1 Read the filename of the artifact with RID=1 from the
file .rid in DIRECTORY.
-P|--keep-private Mark the artifacts listed in the file .private in
DIRECTORY as private in the new Fossil repository.
See also: deconstruct, rebuild
- redirect-to-https (setting)
-
Specifies whether or not to redirect http:// requests to
https:// URIs. A value of 0 (the default) means not to
redirect, 1 means to redirect only the /login page, and 2
means to always redirect.
- redo (2nd tier command)
-
Usage: fossil undo ?OPTIONS? ?FILENAME...?
or: fossil redo ?OPTIONS? ?FILENAME...?
The undo command reverts the changes caused by the previous command
if the previous command is one of the following:
(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 (8) fossil clean (*see note*)
Note: The "fossil clean" command only saves state for files less than
10MiB in size and so if fossil clean deleted files larger than that,
then "fossil undo" will not recover the larger files.
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.
If the most recent command is not one of those listed as undoable,
then the undo command might try to restore the state to be what it was
prior to the last undoable command, or it might be a no-op. If in
doubt about what the undo command will do, first run it with the -n
option.
A single level of undo/redo is supported. The undo/redo stack
is cleared by the commit and checkout commands. Other commands may
or may not clear the undo stack.
Future versions of Fossil might add new commands to the set of commands
that are undoable.
Options:
-n|--dry-run do not make changes but show what would be done
See also: commit, status
- relative-paths (boolean setting)
-
When showing changes and extras, report paths relative
to the current working directory.
- remote-url (1st tier command)
-
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 (2nd tier command)
-
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.
See also: changes, status
- reparent (2nd tier command)
-
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.
--date-override DATETIME Set the change time on the control artifact
--user-override USER Set the user name on the control artifact
- repo-cksum (boolean setting)
-
Compute checksums over all files in each checkout as a double-check
of correctness. Disable this on large repositories for a performance
improvement.
- repolist-skin (setting)
-
If non-zero then use this repository as the skin for a repository list
such as created by the one of:
1) fossil server DIRECTORY --repolist
2) fossil ui DIRECTORY --repolist
3) fossil http DIRECTORY --repolist
4) (The "repolist" option in a CGI script)
5) fossil all ui
6) fossil all server
All repositories are searched (in lexicographical order) and the first
repository with a non-zero "repolist-skin" value is used as the skin
for the repository list page. If none of the repositories on the list
have a non-zero "repolist-skin" setting then the repository list is
displayed using unadorned HTML ("skinless").
If repolist-skin has a value of 2, then the repository is omitted from
the list in use cases 1 through 4, but not for 5 and 6.
- revert (1st tier command)
-
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 accidentally, 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 (1st tier command)
-
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.
See also: addremove, add
- rss (2nd tier command)
-
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 (2nd tier command)
-
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 (2nd tier command)
-
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.
Note: The command only search the EVENT table. So it will only
display check-in comments or other comments that appear on an
unaugmented timeline. It does not search document text or forum
messages.
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.
- self-register (boolean setting)
-
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.
- server (2nd tier command)
-
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
--extroot DIR Document root for the /ext extension mechanism
--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 Indicates that the input is coming through a reverse
proxy that has already translated HTTPS into HTTP.
--max-latency N Do not let any single HTTP request run for more than N
seconds (only works on unix)
--nocompress Do not compress HTTP replies
--nojail Drop root privileges but do not enter the chroot jail
--nossl signal that no SSL connections are available (Always
set by default for the "ui" command)
--notfound URL Redirect
--page PAGE Start "ui" on PAGE. ex: --page "timeline?y=ci"
-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 (1st tier command)
-
Usage: fossil settings ?SETTING? ?VALUE? ?OPTIONS?
or: fossil unset SETTING ?OPTIONS?
The "settings" command with no arguments lists all settings and their
values. With just a SETTING name it shows the current value of that setting.
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 setting.
Settings can have both a "local" repository-only value and "global" value
that applies to all repositories. The local values are stored in the
"config" table of the repository and the global values are stored in the
configuration database. If both a local and a global value exists for a
setting, the local value takes precedence. This command normally operates
on the local settings. Use the --global option to change global settings.
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 (2nd tier command)
-
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.
Options:
-h, --dereference If FILE is a symbolic link, compute the hash
on the object that the link points to. Normally,
the hash is over the name of the object that
the link points to.
- sha3sum (2nd tier command)
-
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.
-h, --dereference If FILE is a symbolic link, compute the hash on
the object pointed to, not on the link itself.
- shell (2nd tier command)
-
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.
- smtpd (2nd tier command)
-
Usage: fossil smtpd [OPTIONS] REPOSITORY
Begin a SMTP conversation with a client using stdin/stdout. The
received email is stored in REPOSITORY.
Options:
--dryrun Do not record any emails in the database
--trace Print a transcript of the conversation on stderr
for debugging and analysis
--ipaddr ADDR The SMTP connection originates at ADDR. Or if ADDR
is the name of an environment variable, the address
is taken from that environment variable.
- sql (1st tier command)
-
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:
checkin_mtime(X,Y) Return the mtime for the file Y (a BLOB.RID)
found in check-in X (another BLOB.RID value).
compress(X) Compress text X.
content(X) Return the content of artifact X. X can be an
artifact hash or hash prefix or a tag. Artifacts
are stored compressed and deltaed. This function
does all necessary decompression and undeltaing.
decompress(X) Decompress text X. Undoes the work of
compress(X).
delta_apply(X,D) Apply delta D to source blob X and return
the result.
delta_create(X,Y) Create and return a delta that will convert
X into Y.
delta_output_size(D) Return the number of bytes of output to expect
when applying delta D
delta_parse(D) A table-valued function that deconstructs
delta D and returns rows for each element of
that delta.
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');
now() Return the number of seconds since 1970.
REGEXP The REGEXP operator works, unlike in
standard SQLite.
symbolic_name_to_rid(X) Return the BLOB.RID corresponding to symbolic
name X.
- sqlar (2nd tier command)
-
Usage: fossil sqlar VERSION OUTPUTFILE [OPTIONS]
Generate an SQLAR archive for a check-in. If the --name option is
used, its argument becomes the name of the top-level directory in the
resulting SQLAR 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
- sqlite3 (2nd tier command)
-
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:
checkin_mtime(X,Y) Return the mtime for the file Y (a BLOB.RID)
found in check-in X (another BLOB.RID value).
compress(X) Compress text X.
content(X) Return the content of artifact X. X can be an
artifact hash or hash prefix or a tag. Artifacts
are stored compressed and deltaed. This function
does all necessary decompression and undeltaing.
decompress(X) Decompress text X. Undoes the work of
compress(X).
delta_apply(X,D) Apply delta D to source blob X and return
the result.
delta_create(X,Y) Create and return a delta that will convert
X into Y.
delta_output_size(D) Return the number of bytes of output to expect
when applying delta D
delta_parse(D) A table-valued function that deconstructs
delta D and returns rows for each element of
that delta.
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');
now() Return the number of seconds since 1970.
REGEXP The REGEXP operator works, unlike in
standard SQLite.
symbolic_name_to_rid(X) Return the BLOB.RID corresponding to symbolic
name X.
- ssh-command (setting)
-
The command used to talk to a remote machine with the "ssh://" protocol.
- ssl-ca-location (setting)
-
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 (setting)
-
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.
- stash (1st tier command)
-
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 its 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 created 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 (1st tier command)
-
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.
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 (1st tier command)
-
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 (1st tier command)
-
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.
Options:
--raw Raw tag name.
--date-override DATETIME Set date and time deleted.
--user-override USER Name USER when deleting the tag.
--dryrun|-n Display the control artifact, but do
not insert it into the database.
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 ?OPTIONS? ?CHECK-IN?
List all tags, or if CHECK-IN is supplied, list
all tags and their values for CHECK-IN. The tagtype option
takes one of: propagated, singleton, cancel.
Options:
--raw List tags raw names of tags
--tagtype TYPE List only tags of type TYPE
-v|--inverse Inverse the meaning of --tagtype TYPE.
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 (2nd tier command)
-
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
- tclsh (setting)
-
Name of the external TCL interpreter used for such things
as running the GUI diff viewer launched by the --tk option
of the various "diff" commands.
- th1-setup (block-text setting)
-
This is the setup script to be evaluated after creating
and initializing the TH1 interpreter. By default, this
is empty and no extra setup is performed.
- th1-uri-regexp (block-text setting)
-
Specify which URI's are allowed in HTTP requests from
TH1 scripts. If empty, no HTTP requests are allowed
whatsoever.
- ticket (2nd tier command)
-
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 (1st tier command)
-
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
--sql Show the SQL used to generate the timeline
-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.
- tls-config (2nd tier command)
-
Usage: fossil tls-config [SUBCOMMAND] [OPTIONS...] [ARGS...]
This command is used to view or modify the TLS (Transport Layer
Security) configuration for Fossil. TLS (formerly SSL) is the
encryption technology used for secure HTTPS transport.
Sub-commands:
show Show the TLS configuration
remove-exception DOMAIN... Remove TLS cert exceptions
for the domains listed. Or if
the --all option is specified,
remove all TLS cert exceptions.
- touch (2nd tier command)
-
Usage: fossil touch ?OPTIONS? ?FILENAME...?
For each file in the current checkout matching one of the provided
list of glob patterns and/or file names, the file's mtime is
updated to a value specified by one of the flags --checkout,
--checkin, or --now.
If neither glob patterns nor filenames are provided, it operates on
all files managed by the currently checked-out version.
This command gets its name from the conventional Unix "touch"
command.
Options:
--now Stamp each affected file with the current time.
This is the default behavior.
-c|--checkin Stamp each affected file with the time of the
most recent check-in which modified that file.
-C|--checkout Stamp each affected file with the time of the
currently-checked-out version.
-g GLOBLIST Comma-separated list of glob patterns.
-G GLOBFILE Similar to -g but reads its globs from a
fossil-conventional glob list file.
-v|-verbose Outputs extra information about its globs
and each file it touches.
-n|--dry-run Outputs which files would require touching,
but does not touch them.
-q|--quiet Suppress warnings, e.g. when skipping unmanaged
or out-of-tree files.
Only one of --now, --checkin, and --checkout may be used. The
default is --now.
Only one of -g or -G may be used. If neither is provided and no
additional filenames are provided, the effect is as if a glob of
'*' were provided, i.e. all files belonging to the
currently-checked-out version. Note that all glob patterns provided
via these flags are always evaluated as if they are relative to the
top of the source tree, not the current working (sub)directory.
Filenames provided without these flags, on the other hand, are
treated as relative to the current directory.
As a special case, files currently undergoing an uncommitted merge
might not get timestamped with --checkin because it may be
impossible for fossil to choose between multiple potential
timestamps. A non-fatal warning is emitted for such cases.
- ui (1st tier command)
-
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
--extroot DIR Document root for the /ext extension mechanism
--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 Indicates that the input is coming through a reverse
proxy that has already translated HTTPS into HTTP.
--max-latency N Do not let any single HTTP request run for more than N
seconds (only works on unix)
--nocompress Do not compress HTTP replies
--nojail Drop root privileges but do not enter the chroot jail
--nossl signal that no SSL connections are available (Always
set by default for the "ui" command)
--notfound URL Redirect
--page PAGE Start "ui" on PAGE. ex: --page "timeline?y=ci"
-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 (1st tier command)
-
Usage: fossil undo ?OPTIONS? ?FILENAME...?
or: fossil redo ?OPTIONS? ?FILENAME...?
The undo command reverts the changes caused by the previous command
if the previous command is one of the following:
(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 (8) fossil clean (*see note*)
Note: The "fossil clean" command only saves state for files less than
10MiB in size and so if fossil clean deleted files larger than that,
then "fossil undo" will not recover the larger files.
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.
If the most recent command is not one of those listed as undoable,
then the undo command might try to restore the state to be what it was
prior to the last undoable command, or it might be a no-op. If in
doubt about what the undo command will do, first run it with the -n
option.
A single level of undo/redo is supported. The undo/redo stack
is cleared by the commit and checkout commands. Other commands may
or may not clear the undo stack.
Future versions of Fossil might add new commands to the set of commands
that are undoable.
Options:
-n|--dry-run do not make changes but show what would be done
See also: commit, status
- unpublished (1st tier command)
-
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 (2nd tier command)
-
Usage: fossil settings ?SETTING? ?VALUE? ?OPTIONS?
or: fossil unset SETTING ?OPTIONS?
The "settings" command with no arguments lists all settings and their
values. With just a SETTING name it shows the current value of that setting.
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 setting.
Settings can have both a "local" repository-only value and "global" value
that applies to all repositories. The local values are stored in the
"config" table of the repository and the global values are stored in the
configuration database. If both a local and a global value exists for a
setting, the local value takes precedence. This command normally operates
on the local settings. Use the --global option to change global settings.
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 (1st tier command)
-
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 one or more unversioned files in
the local repository so that they match FILEs
on disk. Changes are not pushed to other
repositories until the next sync.
add FILE --as UVFILE Add or update a single file named FILE on disk
and UVFILE in the repository unversioned file
namespace. This variant of the 'add' command allows
the name to be different in the repository versus
what appears on disk, but it only allows adding
a single file at a time.
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. Options:
--glob PATTERN Show only files that match
--like PATTERN Show only files that match
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. Options:
--glob PATTERN Remove files that match
--like PATTERN Remove files that match
sync ?URL? Synchronize the state of all unversioned files with
the remote repository URL. The most recent version
of each file is propagated 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.
-R|--repository FILE Use FILE as the repository
- update (1st tier command)
-
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
-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).
--setmtime Set timestamps of all files to match their SCM-side
times (the timestamp of the last checkin which modified
them).
-K|--keep-merge-files On merge conflict, retain the temporary files
used for merging, named *-baseline, *-original,
and *-merge.
See also: revert
- user (2nd tier command)
-
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 (2nd tier command)
-
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 one or more unversioned files in
the local repository so that they match FILEs
on disk. Changes are not pushed to other
repositories until the next sync.
add FILE --as UVFILE Add or update a single file named FILE on disk
and UVFILE in the repository unversioned file
namespace. This variant of the 'add' command allows
the name to be different in the repository versus
what appears on disk, but it only allows adding
a single file at a time.
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. Options:
--glob PATTERN Show only files that match
--like PATTERN Show only files that match
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. Options:
--glob PATTERN Remove files that match
--like PATTERN Remove files that match
sync ?URL? Synchronize the state of all unversioned files with
the remote repository URL. The most recent version
of each file is propagated 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.
-R|--repository FILE Use FILE as the repository
- uv-sync (boolean setting)
-
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.
- version (1st tier command)
-
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
- web-browser (setting)
-
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.
- whatis (2nd tier command)
-
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 (2nd tier command)
-
Usage: fossil wiki (export|create|commit|list) WikiName
Run various subcommands to work with wiki entries or tech notes.
fossil wiki export ?OPTIONS? PAGENAME ?FILE?
fossil wiki export ?OPTIONS? -t|--technote DATETIME|TECHNOTE-ID ?FILE?
Sends the latest version of either a wiki page or of a tech
note to the given file or standard output. A filename of "-"
writes the output to standard output. The directory parts of
the output filename are created if needed.
Options:
If PAGENAME is provided, the named wiki page will be output.
--technote|-t DATETIME|TECHNOTE-ID
Specifies that a technote, rather than a wiki page,
will be exported. If DATETIME is used, the most
recently modified tech note with that DATETIME will
output.
-h|--html The body (only) is rendered in HTML form, without
any page header/foot or HTML/BODY tag wrappers.
-H|--HTML Works like -h|-html but wraps the output in
<html><body>...</body></html>.
-p|--pre If -h|-H is used and the page or technote has
the text/plain mimetype, its HTML-escaped output
will be wrapped in <pre>...</pre>.
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 (2nd tier command)
-
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