summaryrefslogtreecommitdiffstats
path: root/development/fossil/README
diff options
context:
space:
mode:
Diffstat (limited to 'development/fossil/README')
-rw-r--r--development/fossil/README17
1 files changed, 17 insertions, 0 deletions
diff --git a/development/fossil/README b/development/fossil/README
index f72d81f8bf..d3571a0b50 100644
--- a/development/fossil/README
+++ b/development/fossil/README
@@ -20,6 +20,12 @@ Features:
- 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
+- 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
@@ -38,3 +44,14 @@ See Fossil in action online:
- 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