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.
Commit
21c7f1f8a3b971c84f519b4c5c9db8784b0131b50bde824a21a31c90d4665184
Parent
29a383e4b6c36c8…
1 file changed
+6
-11
+6
-11
| --- www/fossil-v-git.wiki | ||
| +++ www/fossil-v-git.wiki | ||
| @@ -233,26 +233,27 @@ | ||
| 233 | 233 | SQLite itself aside is SQL code calling into SQLite. The number of lines |
| 234 | 234 | of SQL code in Fossil isn't large by percentage, but since SQL is such |
| 235 | 235 | an expressive, declarative language, it has an outsized contribution to |
| 236 | 236 | Fossil's user-visible functionality. |
| 237 | 237 | |
| 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 | |
| 240 | 241 | UI scripting uses a custom minimal |
| 241 | 242 | [https://en.wikipedia.org/wiki/Tcl|Tcl] dialect called |
| 242 | 243 | [https://www.fossil-scm.org/xfer/doc/trunk/www/th1.md|TH1], which is |
| 243 | 244 | 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. | |
| 245 | 246 | |
| 246 | 247 | About half of Git's code is POSIX C, and about a third is POSIX shell |
| 247 | 248 | code. This is largely why the so-called "Git for Windows" distributions |
| 248 | 249 | (both [https://git-scm.com/download/win|first-party] and |
| 249 | 250 | [https://gitforwindows.org/|third-party]) are actually an |
| 250 | 251 | [http://mingw.org/wiki/msys|MSYS POSIX portability environment] bundled |
| 251 | 252 | with all of the Git stuff, because it would be too painful to port Git |
| 252 | 253 | natively to Windows. Git is a foreign citizen on Windows, speaking to it |
| 253 | -only through a translator.⁷ | |
| 254 | +only through a translator.⁶ | |
| 254 | 255 | |
| 255 | 256 | While Fossil does lean toward POSIX norms when given a choice — LF-only |
| 256 | 257 | line endings are treated as first-class citizens over CR+LF, for example |
| 257 | 258 | — the Windows build of Fossil is truly native. |
| 258 | 259 | |
| @@ -339,11 +340,11 @@ | ||
| 339 | 340 | [https://www.git-scm.com/docs/git-request-pull|pull requests] offer |
| 340 | 341 | a low-friction path to accepting |
| 341 | 342 | [https://www.jonobacon.com/2012/07/25/building-strong-community-structural-integrity/|drive-by |
| 342 | 343 | contributions]. Fossil's closest equivalent is its unique |
| 343 | 344 | [/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 | |
| 345 | 346 | initial designed purpose for each tool: the SQLite project doesn't |
| 346 | 347 | accept outside contributions from previously-unknown developers, but |
| 347 | 348 | the Linux kernel does.</p></li> |
| 348 | 349 | |
| 349 | 350 | <li><p><b>No rebasing:</b> When your local repo clone syncs changes |
| @@ -844,16 +845,10 @@ | ||
| 844 | 845 | |
| 845 | 846 | <li><p>This means you can give up waiting for Fossil to be ported to |
| 846 | 847 | the PDP-11, but we remain hopeful that someone may eventually port |
| 847 | 848 | it to [https://en.wikipedia.org/wiki/Z/OS|z/OS]. |
| 848 | 849 | |
| 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 | 850 | <li><p>"Why is there all this Tcl in and around Fossil?" you may |
| 856 | 851 | ask. It is because D. Richard Hipp is a long-time Tcl user and |
| 857 | 852 | contributor. SQLite started out as an embedded database for Tcl |
| 858 | 853 | specifically. ([https://sqlite.org/tclsqlite.html | [Reference]]) |
| 859 | 854 | When he then created Fossil to manage the development of SQLite, it |
| 860 | 855 |
| --- 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 |