Fossil is a simple, high-reliability, distributed software configuration management system with these advanced features:
Integrated Bug Tracking, Wiki, and Technotes→ In addition to doing distributed version control like Git and Mercurial,
→ Fossil also supports bug tracking, wiki, and technotes.
Built-in Web Interface→ Fossil has a built-in, themeable, and intuitive web interface.
→ Rich information and help pages.
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.
Self-Contained→ Fossil is a single self-contained stand-alone executable.
→ You just need a precompiled binary for Linux, Mac, or Windows.
→ Source code is also available, easy and quickly compiled.
Simple Networking→ No custom protocols or TCP ports.
→ Fossil uses ordinary HTTP (or HTTPS or SSH)
→ works behind restrictive firewalls, and proxies.
→ The protocol is bandwidth efficient even on dial-up or slow Wifi.
CGI/SCGI Enabled→ No server is required, but if you want to set one up:
→ standalone, CGI, SCGI, inet/xinetd, mod_proxy
Autosync→ Fossil supports "autosync" mode
→ avoids needless forking and merging often associated with DVCS.
Robust & Reliable→ Fossil stores content using an enduring file format in an SQLite database
→ Which ensures transactions are atomic.
→ Automatic repository self-checks on each commit.
Free and Open-Source→ Uses the 2-clause BSD license.
→ Very readable C code.
Links For Fossil Users:
- Documentation index with full text search.
- Testimonials from satisfied Fossil users and Quotes about Fossil and other DVCSes.
- Frequently Asked Questions
- The concepts behind Fossil. Another viewpoint.
- Quick Start guide to using Fossil.
- Questions & Criticisms directed at Fossil.
- Compiling and Installing
- Fossil supports embedded documentation that is versioned along with project source code.
- Fossil uses an enduring file format that is designed to be readable, searchable, and extensible by people not yet born.
- A tutorial on branching, what it means and how to do it using Fossil.
- The automatic self-check mechanism helps insure project integrity.
- Fossil contains a built-in wiki.
- An Event is a special kind of wiki page associated with a point in time rather than a name.
- Settings control the behaviour of Fossil.
- Use SSL to encrypt communication with the server.
- There is a mailing list (with publicly readable archives) available for discussing Fossil issues.
- Performance statistics taken from real-world projects hosted on Fossil.
- How to delete content from a Fossil repository.
- How Fossil does password management.
- On-line help.
- Documentation on the TH1 scripting language, used to customize ticketing, and several other subsystems, including theming.
- List of TH1 commands provided by Fossil itself that expose its key functionality to TH1 scripts.
- List of TH1 hooks exposed by Fossil that enable customization of commands and web pages.
- A free hosting server for Fossil repositories is available at http://chiselapp.com/.
- How to set up a server for your repository.
- Customizing the ticket system.
- Methods to identify a specific check-in.
- Import and export from and to Git.
- Fossil versus Git.
- Up and running in 5 minutes as a single user (contributed by Gilles Ganault on 2013-01-08).
- How Fossil defends against abuse by spiders and bots.
Links For Fossil Developers:
- Contributing code or documentation to the Fossil project.
- Thoughts On The Design Of Fossil.
- Principles Of Operation
- A Technical Overview Of Fossil.
- The file format used by every content file stored in the repository.
- The format of deltas used to efficiently store changes between file revisions.
- The encoder algorithm used to efficiently generate deltas.
- The synchronization protocol.