Artifact 23a1400897ce3732d9f2b5fa22dbd47041f7cc9f
File www/index.wiki part of check-in [9d10726d48] - Documentation updates. by drh on 2008-07-29 13:07:17.
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:
- The concepts behind fossil
- Building And Installing
- Quick Start guide to using fossil
- Fossil supports embedded documentation that is versioned along with project source code.
- The automatic self-check mechanism helps insure project integrity.
- Fossil contains a built-in wiki.
- There is a mailing list available for discussing fossil issues.
Developer Links:
- Principles Of Operation
- 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.
Competing Projects: