Fossil SCM

Replaced brief footnote in fossil-v-git doc explaining why we use JavaScript (sparingly) with a reference to the new javascript.md doc, which explains this much more fully.

wyoung 2019-10-21 01:53 trunk
Commit 21c7f1f8a3b971c84f519b4c5c9db8784b0131b50bde824a21a31c90d4665184
1 file changed +6 -11
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -233,26 +233,27 @@
233233
SQLite itself aside is SQL code calling into SQLite. The number of lines
234234
of SQL code in Fossil isn't large by percentage, but since SQL is such
235235
an expressive, declarative language, it has an outsized contribution to
236236
Fossil's user-visible functionality.
237237
238
-Fossil isn't entirely C and SQL code. Its web UI uses JavaScript where
239
-necessary.⁵ The server-side
238
+Fossil isn't entirely C and SQL code. Its web UI [./javascript.md |
239
+uses JavaScript where
240
+necessary]. The server-side
240241
UI scripting uses a custom minimal
241242
[https://en.wikipedia.org/wiki/Tcl|Tcl] dialect called
242243
[https://www.fossil-scm.org/xfer/doc/trunk/www/th1.md|TH1], which is
243244
embedded into Fossil itself. Fossil's build system and test suite are
244
-largely based on Tcl.⁶ All of this is quite portable.
245
+largely based on Tcl.⁵ All of this is quite portable.
245246
246247
About half of Git's code is POSIX C, and about a third is POSIX shell
247248
code. This is largely why the so-called "Git for Windows" distributions
248249
(both [https://git-scm.com/download/win|first-party] and
249250
[https://gitforwindows.org/|third-party]) are actually an
250251
[http://mingw.org/wiki/msys|MSYS POSIX portability environment] bundled
251252
with all of the Git stuff, because it would be too painful to port Git
252253
natively to Windows. Git is a foreign citizen on Windows, speaking to it
253
-only through a translator.⁷
254
+only through a translator.⁶
254255
255256
While Fossil does lean toward POSIX norms when given a choice — LF-only
256257
line endings are treated as first-class citizens over CR+LF, for example
257258
— the Windows build of Fossil is truly native.
258259
@@ -339,11 +340,11 @@
339340
[https://www.git-scm.com/docs/git-request-pull|pull requests] offer
340341
a low-friction path to accepting
341342
[https://www.jonobacon.com/2012/07/25/building-strong-community-structural-integrity/|drive-by
342343
contributions]. Fossil's closest equivalent is its unique
343344
[/help?cmd=bundle|bundle] feature, which requires higher engagement
344
- than firing off a PR.⁸ This difference comes directly from the
345
+ than firing off a PR.⁷ This difference comes directly from the
345346
initial designed purpose for each tool: the SQLite project doesn't
346347
accept outside contributions from previously-unknown developers, but
347348
the Linux kernel does.</p></li>
348349
349350
<li><p><b>No rebasing:</b> When your local repo clone syncs changes
@@ -844,16 +845,10 @@
844845
845846
<li><p>This means you can give up waiting for Fossil to be ported to
846847
the PDP-11, but we remain hopeful that someone may eventually port
847848
it to [https://en.wikipedia.org/wiki/Z/OS|z/OS].
848849
849
- <li><p>We try to keep use of Javascript to a minimum in the web UI,
850
- and we always try to provide sensible fall-backs for those that run
851
- their browsers with Javascript disabled. Some features of the web UI
852
- simply won't run without Javascript, but the UI behavior does
853
- degrade gracefully.
854
-
855850
<li><p>"Why is there all this Tcl in and around Fossil?" you may
856851
ask. It is because D. Richard Hipp is a long-time Tcl user and
857852
contributor. SQLite started out as an embedded database for Tcl
858853
specifically. ([https://sqlite.org/tclsqlite.html | [Reference]])
859854
When he then created Fossil to manage the development of SQLite, it
860855
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -233,26 +233,27 @@
233 SQLite itself aside is SQL code calling into SQLite. The number of lines
234 of SQL code in Fossil isn't large by percentage, but since SQL is such
235 an expressive, declarative language, it has an outsized contribution to
236 Fossil's user-visible functionality.
237
238 Fossil isn't entirely C and SQL code. Its web UI uses JavaScript where
239 necessary.⁵ The server-side
 
240 UI scripting uses a custom minimal
241 [https://en.wikipedia.org/wiki/Tcl|Tcl] dialect called
242 [https://www.fossil-scm.org/xfer/doc/trunk/www/th1.md|TH1], which is
243 embedded into Fossil itself. Fossil's build system and test suite are
244 largely based on Tcl.⁶ All of this is quite portable.
245
246 About half of Git's code is POSIX C, and about a third is POSIX shell
247 code. This is largely why the so-called "Git for Windows" distributions
248 (both [https://git-scm.com/download/win|first-party] and
249 [https://gitforwindows.org/|third-party]) are actually an
250 [http://mingw.org/wiki/msys|MSYS POSIX portability environment] bundled
251 with all of the Git stuff, because it would be too painful to port Git
252 natively to Windows. Git is a foreign citizen on Windows, speaking to it
253 only through a translator.⁷
254
255 While Fossil does lean toward POSIX norms when given a choice — LF-only
256 line endings are treated as first-class citizens over CR+LF, for example
257 — the Windows build of Fossil is truly native.
258
@@ -339,11 +340,11 @@
339 [https://www.git-scm.com/docs/git-request-pull|pull requests] offer
340 a low-friction path to accepting
341 [https://www.jonobacon.com/2012/07/25/building-strong-community-structural-integrity/|drive-by
342 contributions]. Fossil's closest equivalent is its unique
343 [/help?cmd=bundle|bundle] feature, which requires higher engagement
344 than firing off a PR.⁸ This difference comes directly from the
345 initial designed purpose for each tool: the SQLite project doesn't
346 accept outside contributions from previously-unknown developers, but
347 the Linux kernel does.</p></li>
348
349 <li><p><b>No rebasing:</b> When your local repo clone syncs changes
@@ -844,16 +845,10 @@
844
845 <li><p>This means you can give up waiting for Fossil to be ported to
846 the PDP-11, but we remain hopeful that someone may eventually port
847 it to [https://en.wikipedia.org/wiki/Z/OS|z/OS].
848
849 <li><p>We try to keep use of Javascript to a minimum in the web UI,
850 and we always try to provide sensible fall-backs for those that run
851 their browsers with Javascript disabled. Some features of the web UI
852 simply won't run without Javascript, but the UI behavior does
853 degrade gracefully.
854
855 <li><p>"Why is there all this Tcl in and around Fossil?" you may
856 ask. It is because D. Richard Hipp is a long-time Tcl user and
857 contributor. SQLite started out as an embedded database for Tcl
858 specifically. ([https://sqlite.org/tclsqlite.html | [Reference]])
859 When he then created Fossil to manage the development of SQLite, it
860
--- www/fossil-v-git.wiki
+++ www/fossil-v-git.wiki
@@ -233,26 +233,27 @@
233 SQLite itself aside is SQL code calling into SQLite. The number of lines
234 of SQL code in Fossil isn't large by percentage, but since SQL is such
235 an expressive, declarative language, it has an outsized contribution to
236 Fossil's user-visible functionality.
237
238 Fossil isn't entirely C and SQL code. Its web UI [./javascript.md |
239 uses JavaScript where
240 necessary]. The server-side
241 UI scripting uses a custom minimal
242 [https://en.wikipedia.org/wiki/Tcl|Tcl] dialect called
243 [https://www.fossil-scm.org/xfer/doc/trunk/www/th1.md|TH1], which is
244 embedded into Fossil itself. Fossil's build system and test suite are
245 largely based on Tcl.⁵ All of this is quite portable.
246
247 About half of Git's code is POSIX C, and about a third is POSIX shell
248 code. This is largely why the so-called "Git for Windows" distributions
249 (both [https://git-scm.com/download/win|first-party] and
250 [https://gitforwindows.org/|third-party]) are actually an
251 [http://mingw.org/wiki/msys|MSYS POSIX portability environment] bundled
252 with all of the Git stuff, because it would be too painful to port Git
253 natively to Windows. Git is a foreign citizen on Windows, speaking to it
254 only through a translator.⁶
255
256 While Fossil does lean toward POSIX norms when given a choice — LF-only
257 line endings are treated as first-class citizens over CR+LF, for example
258 — the Windows build of Fossil is truly native.
259
@@ -339,11 +340,11 @@
340 [https://www.git-scm.com/docs/git-request-pull|pull requests] offer
341 a low-friction path to accepting
342 [https://www.jonobacon.com/2012/07/25/building-strong-community-structural-integrity/|drive-by
343 contributions]. Fossil's closest equivalent is its unique
344 [/help?cmd=bundle|bundle] feature, which requires higher engagement
345 than firing off a PR.⁷ This difference comes directly from the
346 initial designed purpose for each tool: the SQLite project doesn't
347 accept outside contributions from previously-unknown developers, but
348 the Linux kernel does.</p></li>
349
350 <li><p><b>No rebasing:</b> When your local repo clone syncs changes
@@ -844,16 +845,10 @@
845
846 <li><p>This means you can give up waiting for Fossil to be ported to
847 the PDP-11, but we remain hopeful that someone may eventually port
848 it to [https://en.wikipedia.org/wiki/Z/OS|z/OS].
849
 
 
 
 
 
 
850 <li><p>"Why is there all this Tcl in and around Fossil?" you may
851 ask. It is because D. Richard Hipp is a long-time Tcl user and
852 contributor. SQLite started out as an embedded database for Tcl
853 specifically. ([https://sqlite.org/tclsqlite.html | [Reference]])
854 When he then created Fossil to manage the development of SQLite, it
855

Keyboard Shortcuts

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