Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | More "whynotgit.html" updates. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | branch-3.28 |
Files: | files | file ages | folders |
SHA3-256: |
71cccf3d658085493243a119441963bc |
User & Date: | drh 2019-04-30 20:37:35.291 |
Context
2019-05-02
| ||
16:25 | Attempt to clarify the scope of when UPSERT processing applies. (check-in: aae75b6ac2 user: drh tags: branch-3.28) | |
2019-04-30
| ||
20:37 | More "whynotgit.html" updates. (check-in: 71cccf3d65 user: drh tags: branch-3.28) | |
20:15 | Further enhancements to the whynotgit.html page. (check-in: 763fc99770 user: drh tags: branch-3.28) | |
Changes
Changes to pages/whynotgit.in.
︙ | ︙ | |||
9 10 11 12 13 14 15 | [https://git-scm.org|Git] version control system. SQLite uses [https://fossil-scm.org/|Fossil] instead, which is a version control system that was specifically designed and written to support SQLite. <p> | | | 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [https://git-scm.org|Git] version control system. SQLite uses [https://fossil-scm.org/|Fossil] instead, which is a version control system that was specifically designed and written to support SQLite. <p> People often wonder why SQLite does not use the [https://git-scm.org|Git] version control system like everybody else. This article attempts to answer that question. Also, in <a href="#getthecode">section 3</a>, this article provides hints to Git users about how they can easily access the SQLite source code. |
︙ | ︙ | |||
31 32 33 34 35 36 37 | <p> This article is <u>not</u> advocating that you switch your projects away from Git. You can use whatever version control system you want. If you are perfectly happy with Git, then by all means keep using Git. But, if you are wondering if there isn't something better, then maybe try to understand the perspectives presented below. Use the insights thus obtained to find or write a different and | | | | < < < < < < < < < < < | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <p> This article is <u>not</u> advocating that you switch your projects away from Git. You can use whatever version control system you want. If you are perfectly happy with Git, then by all means keep using Git. But, if you are wondering if there isn't something better, then maybe try to understand the perspectives presented below. Use the insights thus obtained to find or write a different and better version control system, or to just make improvements to Git itself. <h2>Edits</h2> <p> This article has been revised multiple times in an attempt to improve clarity, address concerns and misgivings, and to fix errors identified on [https://news.ycombinator.com/item?id=16806114|Hacker News], [https://www.reddit.com/r/programming/comments/8c2niw/why_sqlite_does_not_use_git/|Reddit] and [https://lobste.rs/s/slcntl/why_sqlite_does_not_use_git|Lobsters]. The complete edit history can be seen at [https://sqlite.org/docsrc/finfo/pages/whynotgit.in]. (Usage hint: Click on any two nodes of the graph for a diff.) <h1>A Few Reasons Why SQLite Does Not Use Git</h1> <h2>Git does not provide good situational awareness</h2> <p> When I want to see what has been happening on SQLite (or any of about a dozen other projects that I work on) I visit the [https://sqlite.org/src/timeline|timeline] and in a single screen I can see a quick summary of all the latest changes, |
︙ | ︙ | |||
195 196 197 198 199 200 201 | Git keeps the complete DAG of the check-in sequence. But branch tags are local information that is not synced and not retained once a branch closes. This makes review of historical branches tedious. <p> | | | > > > | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 | Git keeps the complete DAG of the check-in sequence. But branch tags are local information that is not synced and not retained once a branch closes. This makes review of historical branches tedious. <p> As an example, suppose someone (perhaps a customer) asks you: "What ever became of that 'prefer-coroutine-sort-subquery' branch from two years ago?" You might try to answer the query by consulting the history in your version control system, thusly: <ul> <li><b>GitHub:</b> [https://github.com/sqlite/sqlite/commits/prefer-coroutine-sort-subquery] <li><b>Fossil:</b> [https://sqlite.org/src/timeline?r=prefer-coroutine-sort-subquery] </ul> <p> |
︙ | ︙ | |||
278 279 280 281 282 283 284 | <p> As of 2019-03-20, there is now an [https://github.com/sqlite/sqlite|official Git mirror] of the SQLite sources on GitHub. <p>The mirror is an incremental export of the [https://sqlite.org/src/timeline|canonical Fossil repository] for | | < | 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 | <p> As of 2019-03-20, there is now an [https://github.com/sqlite/sqlite|official Git mirror] of the SQLite sources on GitHub. <p>The mirror is an incremental export of the [https://sqlite.org/src/timeline|canonical Fossil repository] for SQLite. A cron-job updates the GitHub repository once an hour. This is a one-way, read-only code mirror. No pull requests or changes are accepted via GitHub. The GitHub repository merely copies the content from the Fossil repository. All changes are input via Fossil. <p> The hashes that identify check-ins and files on the Git mirror are |
︙ | ︙ |