Fossil is a distributed version control and ticket tracking system created by D. Richard Hipp, the primary author of SQLite. Features: - Tamper-proof artifact record - Simple command-line interface - Customizable web interface with JSON, RSS, CGI, wiki, chat, and forum - Online project documentation with full-text search capability - Integrated PIC-like markup language for creating diagrams - Online activity and ticket reports - User accounts with access controls - Coherent versioning across all files - Straightforward branching and merging - Bisect searches to pinpoint behavior changes - SHA3-256 and hardened SHA1 checksums - FUSE filesystem makes all historical and branch revisions available - Synchronization via http, https, ssh, and local/network filesystems - Automated replication and backup - Git import/export and Subversion/CVS import - Nested checkouts to share common subtrees across related projects - Checkout directory not cluttered with administrative files - Support for Docker - Unversioned file area for builds, statistics, other ephemeral content - Optional PGP signing of commits - Users can subscribe to email alerts to be notified of events - Private branches which are excluded from syncs until published - Bundles group a change set (e.g. a private branch) into a single file - Users can make their own repositories, no need for special privileges - Works in Windows as well as Linux and other Unix-like systems Fossil can host an entire project development website, including the download area, but it also can be used for individual projects with no need for a shared server. In addition to typical software development operations, one interesting application is coordination and auditing of /etc and other configuration files across a network of computers. Content is stored in an SQLite database for atomicity, durability, and effortless administration. See Fossil in action online: - https://fossil-scm.org/ - Fossil hosts its own development - https://sqlite.org/src/ - Fossil originally created to manage SQLite - https://core.tcl.tk/tcl/timeline?y=ci - Tcl/Tk migrated from CVS - https://chiselapp.com/ - Free public hosting for Fossil projects Key technical points: - Unified revision history tree spans the entire repository - Repository is a collection of artifacts identified by their checksums - Artifacts are broadly grouped into content and structural artifacts - Each check-in is tracked as a structural artifact known as a manifest - Manifests primarily list the full names and checksums of each file - Manifests can be amended by subsequent control artifacts - In most cases, symbolic names refer to the latest matching check-in - Branches are implemented using propagating symbolic tags ------------------------------------------------------------------------ This SlackBuild script installs not only release versions of Fossil but also arbitrary development versions. If the current directory contains a file named "fossil-src.tar.gz", it is used as the source archive, and the check-in timestamp is used as the version string. For example, the package name could be "fossil-20200320T040201-x86_64-1_SBo.tgz". To download the latest trunk development version of Fossil, type: $ wget https://fossil-scm.org/home/tarball/fossil-src.tar.gz To download a specific version of Fossil, type: $ wget https://fossil-scm.org/home/tarball/$VERSION/fossil-src.tar.gz For more information about the allowable $VERSION formats, see: https://fossil-scm.org/home/doc/trunk/www/checkin_names.wiki