Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | Canonicalize use of SQLite where it makes sense instead of sqlite. Also changed from 'an sqlite' to 'a SQLite', perhaps incorrectly. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | bv-corrections01 |
| Files: | files | file ages | folders |
| SHA3-256: |
b9079597a41d6fe4afc13da5ba97e1ff |
| User & Date: | brickviking 2024-10-30 10:52:58.172 |
| Original Comment: | Canonicalize use of SQLite where it makes sense instead of sqlite. Also changed from 'an sqlite' to 'a SQLite' as authors use seekwilite for pronunciation |
Context
|
2024-10-30
| ||
| 11:05 | Reverted 'a SQLite' to 'an SQLite' on advice. check-in: b0d7fb4ad4 user: brickviking tags: bv-corrections01 | |
| 10:52 | Canonicalize use of SQLite where it makes sense instead of sqlite. Also changed from 'an sqlite' to 'a SQLite', perhaps incorrectly. check-in: b9079597a4 user: brickviking tags: bv-corrections01 | |
|
2024-10-29
| ||
| 23:50 | Changes for the following files: www/json-api/api-checkout.md www/json-api/api-finfo.md www/json-api/api-query.md www/json-api/api-tag.md check-in: d12511740f user: brickviking tags: bv-corrections01 | |
Changes
Changes to www/fossil-is-not-relational.md.
| ︙ | ︙ | |||
129 130 131 132 133 134 135 | any given artifact into the data store, the timestamp of each such change, the inheritance tree of checkins, and many other pieces of metadata. - Raw file content of versioned files. These data are external to artifacts, which refer to them by their hashes. How they are stored is not the concern of the data model, but (spoiler alert!) Fossil | | | 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | any given artifact into the data store, the timestamp of each such change, the inheritance tree of checkins, and many other pieces of metadata. - Raw file content of versioned files. These data are external to artifacts, which refer to them by their hashes. How they are stored is not the concern of the data model, but (spoiler alert!) Fossil stores them in a SQLite database, one record per distinct hash, in its `blob` table (which we will cover more very soon). Non-SCM-relevant state includes: - Fossil's list of users and their metadata (permissions, email address, etc.). Artifacts themselves reference users only by their user names. Artifacts neither care whether, nor guarantee that, user |
| ︙ | ︙ |
Changes to www/history.md.
| ︙ | ︙ | |||
51 52 53 54 55 56 57 | [325]: https://sqlite.org/src/timeline?a=19700101&n1=10 [330]: https://sqlite.org/src/timeline?c=20030101&n1=10&nd At about this same time, the [Monotone][335] system appeared. Monotone was one of the first distributed version control systems. As far as this author is aware, Monotone was the first VCS to make use of | | | 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | [325]: https://sqlite.org/src/timeline?a=19700101&n1=10 [330]: https://sqlite.org/src/timeline?c=20030101&n1=10&nd At about this same time, the [Monotone][335] system appeared. Monotone was one of the first distributed version control systems. As far as this author is aware, Monotone was the first VCS to make use of SHA1 to identify artifacts. Monotone stored its content in a SQLite database, which is what brought it to the attention of the SQLite architect. These design choices were a major source of inspiration for Fossil. [335]: https://www.monotone.ca/ Beginning around 2005, the need for a better version control system for SQLite began to become evident. The SQLite architect looked |
| ︙ | ︙ |
Changes to www/index.wiki.
| ︙ | ︙ | |||
74 75 76 77 78 79 80 |
which helps to keep projects moving
forward by reducing the amount of needless
[./branching.wiki | forking and merging] often
associated with distributed projects.
7. <b>Robust & Reliable</b> —
Fossil stores content using an [./fileformat.wiki | enduring file format]
| | | 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
which helps to keep projects moving
forward by reducing the amount of needless
[./branching.wiki | forking and merging] often
associated with distributed projects.
7. <b>Robust & Reliable</b> —
Fossil stores content using an [./fileformat.wiki | enduring file format]
in a SQLite database so that transactions are
atomic even if interrupted by a power loss or system crash.
Automatic [./selfcheck.wiki | self-checks] verify that all aspects of
the repository are consistent prior to each commit.
8. <b>Free and Open-Source</b> — [../COPYRIGHT-BSD2.txt|2-clause BSD license].
<hr>
|
| ︙ | ︙ |
Changes to www/patchcmd.md.
| ︙ | ︙ | |||
79 80 81 82 83 84 85 | fi ``` ## Implementation Details The "fossil patch create" command records all of the local, uncommitted | | | 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | fi ``` ## Implementation Details The "fossil patch create" command records all of the local, uncommitted changes in a SQLite database file. If the argument to "fossil patch create" is a filename, then the patch-file database is written into that file. If the argument is "-" then the database is written on standard output. The "fossil patch apply" command reads the patch-file database and applies it to the local check-out. If a filename is given as an argument, then the database is read from that file. If the argument is "-" then the database is read from standard input. |
| ︙ | ︙ |
Changes to www/qandc.wiki.
| ︙ | ︙ | |||
140 141 142 143 144 145 146 | is not the point. Fossil has several key features that Trac lacks and that I need: most notably the fact that fossil supports disconnected operation. As for bloat: Fossil is a single self-contained executable. You do not need any other packages (diff, patch, merge, cvs, svn, rcs, git, python, perl, tcl, apache, | | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | is not the point. Fossil has several key features that Trac lacks and that I need: most notably the fact that fossil supports disconnected operation. As for bloat: Fossil is a single self-contained executable. You do not need any other packages (diff, patch, merge, cvs, svn, rcs, git, python, perl, tcl, apache, SQLite, and so forth) in order to run fossil. Fossil runs just fine in a chroot jail all by itself. And the self-contained fossil executable is much less than 1MB in size. (Update 2015-01-12: Fossil has grown in the years since the previous sentence was written but is still much less than 2MB according to "size" when compiled using -Os on x64 Linux.) Fossil is the very opposite of bloat. </div> |
Changes to www/theory1.wiki.
| ︙ | ︙ | |||
43 44 45 46 47 48 49 | thus immutable. Artifacts can be added to the database but not removed (if we ignore the exceptional case of [./shunning.wiki | shunning].) Repositories synchronize by computing the union of their artifact sets. SQL and relation theory play no role in any of this. SQL enters the picture only in the implementation details. The current | | | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | thus immutable. Artifacts can be added to the database but not removed (if we ignore the exceptional case of [./shunning.wiki | shunning].) Repositories synchronize by computing the union of their artifact sets. SQL and relation theory play no role in any of this. SQL enters the picture only in the implementation details. The current implementation of Fossil stores each artifact as a BLOB in a SQLite database. The current implementation also parses up each control artifact as it arrives and stores the information discovered from that parse in various other SQLite tables to facilitate rapid generation of reports such as timelines, file histories, file lists, branch lists, and so forth. Note that all of this additional information is derived from the artifacts. The artifacts are canonical. The relational tables serve only as a cache. |
| ︙ | ︙ |