A Coherent Software Configuration Management System

What Is It?

Fossil logo

Fossil is a simple, high-reliability, distributed SCM system with these advanced features:

  1. Project Management — In addition to doing distributed version control like Git and Mercurial, Fossil also supports bug tracking, wiki, forum, email alerts, chat, and technotes.
  1. Built-in Web Interface — Fossil has a built-in, themeable, extensible, and intuitive web interface with a rich variety of information pages (examples) promoting situational awareness.

    This entire website is just a running instance of Fossil. The pages you see here are all wiki or embedded documentation or (in the case of the download page) unversioned files. When you clone Fossil from one of its self-hosting repositories, you get more than just source code — you get this entire website.
  1. All-in-one — Fossil is a single self-contained, stand-alone executable. To install, simply download a precompiled binary for Linux, Mac, or Windows and put it on your $PATH. Easy-to-compile source code is also available.
  1. Self-host Friendly — Stand up a project website in minutes using a variety of techniques. Fossil is CPU and memory efficient. Most projects can be hosted comfortably on a $5/month VPS or a Raspberry Pi. You can also set up an automatic GitHub mirror.
  1. Simple Networking — Fossil uses ordinary HTTPS (or SSH if you prefer) for network communications, so it works fine from behind firewalls and proxies. The protocol is bandwidth efficient to the point that Fossil can be used comfortably over dial-up, weak 3G, or airliner Wifi.
  1. Autosync — Fossil supports "autosync" mode which helps to keep projects moving forward by reducing the amount of needless forking and merging often associated with distributed projects.
  1. Robust & Reliable — Fossil stores content using an enduring file format in an SQLite database so that transactions are atomic even if interrupted by a power loss or system crash. Automatic self-checks verify that all aspects of the repository are consistent prior to each commit.
  1. Free and Open-Source2-clause BSD license.

Latest Release: 2.24 (2024-04-23)

Quick Start

  1. Download or install using a package manager or compile from sources.
  2. fossil init REPOSITORY-DIR/new-repository
  3. fossil open REPOSITORY-DIR/new-repository
  4. fossil add files-or-directories
  5. fossil commit -m "commit message"
  6. fossil ui
  7. Repeat steps 4, 5, and 6, in any order, as necessary. See the Quick Start Guide for more detail.