fossil
Manage distributed software configuration and version control
TLDR
Initialize a new empty Fossil repository
Create a local copy of a remote repository
Show an overview of the current repository state
Stage a new file
Stage a file for removal
Check in all staged changes
Push changes from the local repository to a remote repository
Pull changes from a remote repository into the local repository
SYNOPSIS
fossil subcommand [options] [arguments]
PARAMETERS
-h|--help
Show detailed help for the command
-V|--version
Display Fossil version information
-R|--repository FILE
Use FILE as repository database
--workdir DIR
Use DIR as checkout working directory
-v|--verbose N
Increase verbosity level (1-3)
-q|--quiet
Reduce verbosity
--args FILE
Read additional command args from FILE
-N|--no-prompt
Skip interactive prompts
--stdout
Send output to stdout instead of browser
--localauth
Grant privileges to local users
DESCRIPTION
Fossil is a self-contained, distributed software configuration management (SCM) system. It combines version control, a built-in wiki, issue tracker (tickets), and forum into a single executable with no external dependencies. Repositories are stored in compact, single-file .fossil databases, making backups and transfers simple.
Key features include: distributed development (clone, push, pull), branch management, tags, built-in web interface (fossil ui), autosync, and extensive help. It's designed for simplicity and reliability, avoiding the complexity of tools like Git. Fossil powers projects like SQLite, where it's the official VCS.
Usage revolves around subcommands like clone, open, commit, and ui. Global options apply across commands, such as specifying repositories. Ideal for small teams or solo developers seeking an all-in-one tool without server setup.
CAVEATS
Not installed by default on Linux; requires separate installation (e.g., via package manager or binary download). Single-file repos aid portability but may complicate large binary files. Web UI requires port access.
COMMON SUBCOMMANDS
ui - Launch web interface
clone URL - Clone remote repo
open REPO.fossil - Open local repo
commit [-m MSG] - Commit changes
update - Update working directory
push - Push changes remotely
GETTING STARTED
Install Fossil, then fossil clone https://example.com/repo.fossil, followed by cd repo; fossil open ../repo.fossil; fossil ui.
HISTORY
Created by D. Richard Hipp (SQLite author) in 2007 as a simpler alternative to CVS/SVN. First public release in 2008. Evolved with features like tickets (2010) and JSON API (2014). Actively maintained; used by SQLite project since inception.


