descriptionUnofficial git mirror of the SQLite sources
last changeMon, 16 Oct 2017 11:50:12 +0000 (16 11:50 +0000)
content tags
sqlite git mirror @

SQLite Git Mirror

Self-contained implementation of most of the SQL-92 specification

An unofficial git mirror of only the source code from the main SQLite repository at which is part of the SQLite project.

Building SQLite

In order to clone and build SQLite from this git repository, a substitute manifest and manifest.uuid file (these are fossil vcs specific files) must be created or the build will fail.

The following script may be executed with the current directory set to the working directory of the git clone in order to create or update these files:

# See for license details
# Creates a minimal manifest and manifest.uuid file so sqlite (and fossil) can build
git rev-parse --git-dir >/dev/null || exit 1
echo $(git log -1 --format=format:%H) > manifest.uuid
echo C $(cat manifest.uuid) > manifest
git log -1 --format=format:%ci%n | sed 's/ [-+].*$//;s/ /T/;s/^/D /' >> manifest

The above script simply records the hash of the current HEAD commit in manifest.uuid (and as the manifest’s "C"omment) and the UTC time of the commit in ISO format (preceded by "D ") in the manifest file.

The above script must be run at least once from the top-level of the working directory of the git clone for make to succeed and should be run before make whenever HEAD has changed otherwise the sqlite_source_id() information will be incorrect.

The above script is also available from the project in the create-fossil-manifest file.

After having created the substitute manifest and manifest.uuid files, simply build as normal (i.e. run ./configure with any desired options and then run make).

About This Mirror

This git mirror has been created using the information found in the project. Please see that project’s README.txt file for more information.

The fossil check-in hash of the fossil SQLite repository check-in corresponding to a commit can be found in the "fossil" notes (i.e. refs/notes/fossil). (Use git log --show-notes=fossil to see them.) Once you have the fossil check-in hash (e.g. git log --show-notes=fossil -1 version-3.8.5) you can then view the original commit in the SQLite fossil repository at (e.g.

Please note that this mirror is updated only once a day so it may take up to 24 hours for commits to the main SQLite fossil repository at to appear here.

IMPORTANT: Since this is strictly a mirror, if the upstream fossil repository should rewrite history in any way, the refs in this repository will be force updated without notice!

The Great 2017 Rebuild

In March of 2017, the official SQLite repository started using a new hash algorithm. As a result, the older version of fossil being used was no longer capable of keeping this mirror up-to-date.

Switching to a newer fossil version produced some minor differences in the commit objects (the exported tree objects the commits refer to are identical between the two versions). This caused all the refs to be force-updated. Unfortunately it was unavoidable in order for this mirror to remain current.

Since the tree objects themselves are identical, rebasing any work built on the old ref values to the new ref values should be relatively painless.


Since this is strictly a mirror of the code from the native SQLite fossil repository, the standard SQLite license applies.


Downloads are available from the main SQLite download area or from links found at

Visit the project page (source code etc.) at


Visit the SQLite project’s home site at

36 hours ago D. Richard... Improved comments, including a typo fix, on the whereLo... master
2 days ago D. Richard... In the query planner, do not consider index X to be...
3 days ago Joe MistachkinUpdates to the Makefiles for MSVC.
4 days ago D. Richard... Improved ability to generate stand-alone program using...
4 days ago D. Richard... Add the tcl/mkccode.tcl script used to construct a...
4 days ago D. Richard... Move a bunch of unrelated test code out of tclsqlite...
4 days ago D. Richard... The db_use_legacy_prepare command no longer exists... tclsqlite-cleanup
4 days ago D. Richard... When compiling with SQLITE_TEST, extra options are...
4 days ago D. Richard... Move some test logic out of tclsqlite.c and into auxili...
5 days ago D. Richard... Add the sqlite_dbpage virtual table (enabled using...
5 days ago D. Richard... Create the new ext/repair folder and move checkfreelist... dbpage
5 days ago D. Richard... The src/shell.c file is now generated from src/shell...
5 days ago D. Richard... Merge fixes from the 3.21 branch.
5 days ago Dan KennedyFix a potential crash that may follow an OOM or other...
5 days ago Dan KennedyUpdate some test cases to work with SQLITE_OMIT_VIRTUAL...
5 days ago D. Richard... Make sure the tableColumnList() routine of the command...
7 weeks ago version-3.20.1
7 weeks ago release
8 weeks ago version-3.19.4
2 months ago version-3.20.0
4 months ago version-3.18.2
4 months ago version-3.18.1
4 months ago version-3.19.3
4 months ago version-3.19.2
4 months ago version-3.19.1
4 months ago version-3.19.0
6 months ago version-3.18.0
8 months ago version-3.17.0
9 months ago version-3.16.2
9 months ago version-3.16.1
9 months ago version-3.16.0
10 months ago version-3.15.2
36 hours ago master
3 days ago branch-3.21
4 days ago schemalint
4 days ago tclsqlite-cleanup
5 days ago dbpage
5 days ago withdrawn
7 days ago wal2
2 weeks ago does-not-work
2 weeks ago prefer-coroutine-sort-subquery
3 weeks ago snapshots-lock-wal
3 weeks ago est_count_pragma
3 weeks ago begin-concurrent
3 weeks ago sqlite3_snapshot_describe
4 weeks ago mmap-warm
4 weeks ago shared-mapping-hack
4 weeks ago sqlite3_stmt_retryable