Fossil SCM

Tweaks to the 101-reasons document, including a fix to a broken hyperlink.

drh 2026-08-01 15:57 UTC trunk
Commit 84ced252d972b748c2d46d3792cf5e69b2235d4aa21b889e8a81c74863321357
1 file changed +11 -10
--- www/hundredandone.md
+++ www/hundredandone.md
@@ -271,11 +271,12 @@
271271
1. **Fossil allows check-ins to be identified by timestamp**<p>
272272
The canonical name for a check-in is its hash. Both Git and Fossil
273273
allow a check-in to be identified by any unique prefix of its hash.
274274
But only Fossil allows a check-in to also be identified by its
275275
timestamp. The names "2026-02-02T16:03:24.852Z" and "fdebbedbd9a99165"
276
- both refer to [the same check-in](https://sqlite.org/src/fdebbedbd9a99165),
276
+ both refer to
277
+ [the same check-in](https://sqlite.org/src/info/fdebbedbd9a99165),
277278
but the first one has the advantage of giving some time
278279
context rather than just being a seemingly random sequence of hexadecimal
279280
digits. It is possible that two or more check-ins can have the same
280281
timestamp, in which case the timestamp would be ambiguous. And a
281282
check-in timestamp can be changed after it is committed, by using
@@ -404,11 +405,11 @@
404405
everything you need to host a complete software project website.
405406
Indeed, the
406407
[canonical Fossil website](https://fossil-scm.org/home) is just
407408
an instance of Fossil running on the self-hosting Fossil repository.
408409
If you clone the Fossil self-hosting repository, you don't get just
409
- code - you get the entire website. (Exception:
410
+ code - you get the entire website. (Exception:
410411
[Fossil Forum](https://sqlite.org/forum) is hosted separately using
411412
a separate Fossil repository, so you'd actually need to clone that
412413
one too, in order to get the whole website.)
413414
414415
1. **Using Fossil, backing up your project website is just a sync.**<p>
@@ -1061,25 +1062,25 @@
10611062
1. **The Fossil source code is easy to enhance with new web pages and
10621063
commands.**<p>
10631064
The design of the Fossil implementation makes it easy to extend with
10641065
new capabilities as needs arise.
10651066
<ul type="disk">
1066
- <li> The code is C89.
1067
- <li> Each command and each web page runs as a separate process which
1067
+ <li> The code is simple C89.
1068
+ <li> Each command or web page runs as a separate process which
10681069
exits when the action completes, so minor memory leaks are not
10691070
a concern.
1070
- <li> Preprocessors that run over the Fossil source code before the
1071
- code reaches the C compiler help
1072
- to ensure that there are no SQL injections nor XSS vulnerabilities.
1073
- <li> New commands and new web pages can be added simply by adding a new
1071
+ <li> Preprocessors run over the Fossil source code before the
1072
+ code reaches the C compiler to verify
1073
+ that there are no SQL injections nor XSS vulnerabilities.
1074
+ <li> New commands and webpages can be added simply by adding a new
10741075
procedure to do the necessary computation. The name, properties,
10751076
and documentation for the command or webpage are extracted from
10761077
specially formatted comments just prior to the procedure.
10771078
</ul><p>
10781079
The ease with which Fossil can be enhanced is part of the reason why
1079
- it has picked up so many useful features and has become so useful
1080
- and powerful over its 19-year history.
1080
+ it has picked up so many useful features and has become so
1081
+ powerful over its 19-year history.
10811082
10821083
## Conclusion
10831084
10841085
There are more reasons to prefer Fossil over Git, but
10851086
I think 101 are sufficient to prove my point.
10861087
--- www/hundredandone.md
+++ www/hundredandone.md
@@ -271,11 +271,12 @@
271 1. **Fossil allows check-ins to be identified by timestamp**<p>
272 The canonical name for a check-in is its hash. Both Git and Fossil
273 allow a check-in to be identified by any unique prefix of its hash.
274 But only Fossil allows a check-in to also be identified by its
275 timestamp. The names "2026-02-02T16:03:24.852Z" and "fdebbedbd9a99165"
276 both refer to [the same check-in](https://sqlite.org/src/fdebbedbd9a99165),
 
277 but the first one has the advantage of giving some time
278 context rather than just being a seemingly random sequence of hexadecimal
279 digits. It is possible that two or more check-ins can have the same
280 timestamp, in which case the timestamp would be ambiguous. And a
281 check-in timestamp can be changed after it is committed, by using
@@ -404,11 +405,11 @@
404 everything you need to host a complete software project website.
405 Indeed, the
406 [canonical Fossil website](https://fossil-scm.org/home) is just
407 an instance of Fossil running on the self-hosting Fossil repository.
408 If you clone the Fossil self-hosting repository, you don't get just
409 code - you get the entire website. (Exception:
410 [Fossil Forum](https://sqlite.org/forum) is hosted separately using
411 a separate Fossil repository, so you'd actually need to clone that
412 one too, in order to get the whole website.)
413
414 1. **Using Fossil, backing up your project website is just a sync.**<p>
@@ -1061,25 +1062,25 @@
1061 1. **The Fossil source code is easy to enhance with new web pages and
1062 commands.**<p>
1063 The design of the Fossil implementation makes it easy to extend with
1064 new capabilities as needs arise.
1065 <ul type="disk">
1066 <li> The code is C89.
1067 <li> Each command and each web page runs as a separate process which
1068 exits when the action completes, so minor memory leaks are not
1069 a concern.
1070 <li> Preprocessors that run over the Fossil source code before the
1071 code reaches the C compiler help
1072 to ensure that there are no SQL injections nor XSS vulnerabilities.
1073 <li> New commands and new web pages can be added simply by adding a new
1074 procedure to do the necessary computation. The name, properties,
1075 and documentation for the command or webpage are extracted from
1076 specially formatted comments just prior to the procedure.
1077 </ul><p>
1078 The ease with which Fossil can be enhanced is part of the reason why
1079 it has picked up so many useful features and has become so useful
1080 and powerful over its 19-year history.
1081
1082 ## Conclusion
1083
1084 There are more reasons to prefer Fossil over Git, but
1085 I think 101 are sufficient to prove my point.
1086
--- www/hundredandone.md
+++ www/hundredandone.md
@@ -271,11 +271,12 @@
271 1. **Fossil allows check-ins to be identified by timestamp**<p>
272 The canonical name for a check-in is its hash. Both Git and Fossil
273 allow a check-in to be identified by any unique prefix of its hash.
274 But only Fossil allows a check-in to also be identified by its
275 timestamp. The names "2026-02-02T16:03:24.852Z" and "fdebbedbd9a99165"
276 both refer to
277 [the same check-in](https://sqlite.org/src/info/fdebbedbd9a99165),
278 but the first one has the advantage of giving some time
279 context rather than just being a seemingly random sequence of hexadecimal
280 digits. It is possible that two or more check-ins can have the same
281 timestamp, in which case the timestamp would be ambiguous. And a
282 check-in timestamp can be changed after it is committed, by using
@@ -404,11 +405,11 @@
405 everything you need to host a complete software project website.
406 Indeed, the
407 [canonical Fossil website](https://fossil-scm.org/home) is just
408 an instance of Fossil running on the self-hosting Fossil repository.
409 If you clone the Fossil self-hosting repository, you don't get just
410 code - you get the entire website. (Exception:
411 [Fossil Forum](https://sqlite.org/forum) is hosted separately using
412 a separate Fossil repository, so you'd actually need to clone that
413 one too, in order to get the whole website.)
414
415 1. **Using Fossil, backing up your project website is just a sync.**<p>
@@ -1061,25 +1062,25 @@
1062 1. **The Fossil source code is easy to enhance with new web pages and
1063 commands.**<p>
1064 The design of the Fossil implementation makes it easy to extend with
1065 new capabilities as needs arise.
1066 <ul type="disk">
1067 <li> The code is simple C89.
1068 <li> Each command or web page runs as a separate process which
1069 exits when the action completes, so minor memory leaks are not
1070 a concern.
1071 <li> Preprocessors run over the Fossil source code before the
1072 code reaches the C compiler to verify
1073 that there are no SQL injections nor XSS vulnerabilities.
1074 <li> New commands and webpages can be added simply by adding a new
1075 procedure to do the necessary computation. The name, properties,
1076 and documentation for the command or webpage are extracted from
1077 specially formatted comments just prior to the procedure.
1078 </ul><p>
1079 The ease with which Fossil can be enhanced is part of the reason why
1080 it has picked up so many useful features and has become so
1081 powerful over its 19-year history.
1082
1083 ## Conclusion
1084
1085 There are more reasons to prefer Fossil over Git, but
1086 I think 101 are sufficient to prove my point.
1087

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button