Not logged in
Documentation

Fossil: Distributed Revision Control, Wiki, and Bug-Tracking

Fossil is a new distributed software revision control system that includes an integrated wiki and an integrated bug-tracking system all in a single, easy-to-use, stand-alone executable. Fossil is self-hosting since 2007-07-21 on two separate servers. You can download the lastest sources and compile it yourself. Or you can grab precompiled binaries.

Features Of Fossil:

  • Supports disconnected, distributed development (like git, monotone, mercurial, or bitkeeper) or client/server operation (like CVS or subversion), or operations on local repositories, or all three at the same time
  • Integrated bug tracking and wiki, inspired by CVSTrac and Trac but enhanced to support distributed, disconnected operation.
  • Built-in web interface that supports deep archaeological digs through the project history.
  • All network communication via HTTP with proxy support so that everything works from behind restrictive firewalls.
  • Everything (client, server, and utilities) is included in a single self-contained executable - trivial to install
  • Server runs as CGI, using inetd/xinetd, or using its own built-in, standalone web server.
  • An entire project contained in single disk file (which also happens to be an SQLite database.)
  • Trivial to setup and administer
  • Files and versions are identified by their SHA1 signature. Any unique prefix is sufficient to identify a file or version - usually the first 4 or 5 characters suffice.
  • The file format designed to be enduring. It is deliberately kept simple, requiring nothing more complex than a text editor and an SHA1 checksum generator to encode or decode.
  • Automatic self-check on repository changes makes it exceedingly unlikely that data will ever be lost because of a software bug.

Objectives Of Fossil:

  • Fossil should be ridiculously easy to install and operate.
  • With fossil, it should be possible (and easy) to set up a project on an inexpensive shared-hosting ISP (example: Hurricane Electric) that provides nothing more than web space and CGI capability. Here is a demo.
  • Fossil should provide in-depth historical and status information about the project through a web interface
  • Fossil should provide an historical record of a project that endures for decades or centuries and across multiple generations of hardward and software.
  • Fossil should be easily adaptable to different workflows. Fossil implements mechanism, not policy.

User Links:

Developer Links:

Competing Projects:

  • DITrace - A Distributed Issue Tracker
  • DisTract - Another distributed issue tracker based on monotone.
  • Monotone - distributed SCM in a single-file executable with a single-file SQLite database repository.