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.
Or you can grab
precompiled binaries.
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:
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.