Artifact 976b9491beacc78dc4782d6469a2533a758ab041
File www/index.html part of check-in [6f1af23ebe] - Added section numbers to delta format, labels for linking, navigation bar. Added delta encoder description (incomplete, right now only all the trivial parts). Using TeX for formulas, and mimetex for conversion. by aku on 2007-08-26 22:22:01.
Fossil - A Software Configuration Management System
This is a preliminary homepage for a new software configuration management system called "Fossil". The system is self-hosting on two separate servers. You can download the lastest sources compile it yourself using the instructions below.
Design Goals For Fossil:
- Supports disconnected, distributed development (like git, monotone, mercurial, or bitkeeper) or client/server operation (like CVS or subversion) or both at the same time
- Integrated bug tracking and wiki, along the lines of CVSTrac and Trac.
- Built-in web interface that supports deep archaeological digs through historical source code.
- All network communication via HTTP (so that everything works from behind restrictive firewalls).
- Everything included in a single self-contained executable - trivial to install
- Server runs as CGI, using inetd or 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 is trival and requires nothing more complex than a text editor and the "sha1sum" command-line utility to 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
- The integration of Wiki and the ability to safely support anonymous check-in are features sometimes described as Web 2.0. Fossil attempts to better capture "collective intelligence" and "the wisdom of crowds" by opening up write access to the masses.
Other Links:
- The concepts behind fossil
- Building And Installing
- Quick Start guide to using fossil
- Principals Of Operation
- The automatic self-check mechanism helps insure project integrity.
- 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.