mirror of
https://github.com/Ponce/slackbuilds
synced 2024-12-02 13:04:42 +01:00
d76cd4a72b
Signed-off-by: Dave Woodfall <dave@slackbuilds.org> Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
75 lines
3.4 KiB
Text
75 lines
3.4 KiB
Text
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, and forum
|
|
- online project documentation with full-text search capability
|
|
- 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 event types
|
|
- private branch 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 the 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
|