gitsqlite

gitsqlite 0.9.1

smudge/clean/diff git filters for checking in sqlite3 databases as text into git

  • By danielsiegl
  • Open Source
  • Portable
  • Updated Feb 9, 2026
Download for Windows

About gitsqlite

https://github.com/danielsiegl/gitsqlite/

What's new in 0.9.1

Trying to fix winget problem
Full Changelog: v0.9.0...v0.9.1
📦 gitsqlite Release
A Git clean/smudge/diff filter for storing SQLite databases in plain text SQL, enabling meaningful diffs and merges. There are several benefits over using sqlite3 .dump directly:
- byte-by-byte equal across windows/linux/mac
- Consistent float rounding (deterministic dumps).
- Strip SQLite’s internal/system tables from dumps.
- Temp-file I/O for robustness (vs fragile pipes).
- handles broken pipes with Git Gui Clients
- easier to deploy and maintain in an organization - eg: winget for windows
- Optional: logging for diagnostics
Quick Start
1. Download the appropriate binary for your platform and make sure it is reachable from Git Bash (Path)
# Example for Windows
winget install danielsiegl.gitsqlite
# curl -L -o gitsqlite.exe https://github.com/danielsiegl/gitsqlite/releases/latest/download/gitsqlite-windows-amd64.exe
2. Install SQLite 3: winget install SQLite.SQLite (Windows) or sudo apt install sqlite3 (Linux)
3. Configure Git filters:
echo '*.db filter=gitsqlite' >> .gitattributes
# echo '*.db diff=gitsqlite' >> .gitattributes
git config filter.gitsqlite.clean "gitsqlite clean"
git config filter.gitsqlite.smudge "gitsqlite smudge"
# git config diff.gitsqlite.textconv "gitsqlite diff"
Available Binaries
- Windows: gitsqlite-windows-amd64.exe, gitsqlite-windows-arm64.exe
- Linux: gitsqlite-linux-amd64, gitsqlite-linux-arm64
- macOS: gitsqlite-macos-arm64
📖 Full documentation: README.md

Full release notes »

Technical details

Publisherdanielsiegl
AuthorDaniel Siegl
Version0.9.1
Release date2026-02-09
LicenseBSD-2-Clause
Installer typeportable
Architecturex64
Package IDdanielsiegl.gitsqlite
DependenciesSQLite.SQLite

Install gitsqlite from the command line

Install with Windows Package Manager
winget install --id=danielsiegl.gitsqlite -e
Update to the latest version
winget upgrade --id=danielsiegl.gitsqlite -e
Uninstall
winget uninstall --id=danielsiegl.gitsqlite -e

gitsqlite adds this command to the command line: gitsqlite.

Install gitsqlite together with other apps in one command »

gitsqlite version history

0.8.0 Sep 4, 2025

What's Changed
- Schema Data can now be stored in a separate File, should mean fewer changes.
- Refactoring
Full Changelog: v0.7.9...v0.8.0
📦 gitsqlite Release
A Git clean/smudge/diff filter for storing SQLite databases in plain text SQL, enabling meaningful diffs and merges. There are several benefits over using sqlite3 .dump directly:
- byte-by-byte equal across windows/linux/mac
- Consistent float rounding (deterministic dumps).
- Strip SQLite’s internal/system tables from dumps.
- Temp-file I/O for robustness (vs fragile pipes).
- handles broken pipes with Git Gui Clients
- easier to deploy and maintain in an organization - eg: winget for windows
- Optional: logging for diagnostics
Quick Start
1. Download the appropriate binary for your platform and make sure it is reachable from Git Bash (Path)
# Example for Windows
winget install danielsiegl.gitsqlite
# curl -L -o gitsqlite.exe https://github.com/danielsiegl/gitsqlite/releases/latest/download/gitsqlite-windows-amd64.exe
2. Install SQLite 3: winget install SQLite.SQLite (Windows) or sudo apt install sqlite3 (Linux)
3. Configure Git filters:
echo '*.db filter=gitsqlite' >> .gitattributes
# echo '*.db diff=gitsqlite' >> .gitattributes
git config filter.gitsqlite.clean "gitsqlite clean"
git config filter.gitsqlite.smudge "gitsqlite smudge"
# git config diff.gitsqlite.textconv "gitsqlite diff"
Available Binaries
- Windows: gitsqlite-windows-amd64.exe, gitsqlite-windows-arm64.exe …

0.7.9 Aug 27, 2025

What's Changed
- #89 Change diff to read from a database file argument instead of stdi… by @danielsiegl in #90
- #82 Add link to gitsqliteDiffFilterDemo sample repo in README by @danielsiegl in #91
- #92 Update Git filter instructions to use textconv and make diff step… by @danielsiegl in #93
- #88 Move release notes to buildscripts/releasenotestintro.md in workflow by @danielsiegl in #94
Full Changelog: v0.7.8...v0.7.9
📦 gitsqlite Release
A Git clean/smudge/diff filter for storing SQLite databases in plain text SQL, enabling meaningful diffs and merges. There are several benefits over using sqlite3 .dump directly:
- byte-by-byte equal across windows/linux/mac
- Consistent float rounding (deterministic dumps).
- Strip SQLite’s internal/system tables from dumps.
- Temp-file I/O for robustness (vs fragile pipes).
- handles broken pipes with Git Gui Clients
- easier to deploy and maintain in an organization - eg: winget for windows
- Optional: logging for diagnostics
Quick Start
1. Download the appropriate binary for your platform and make sure it is reachable from Git Bash (Path)
# Example for Windows
winget install danielsiegl.gitsqlite
# curl -L -o gitsqlite.exe https://github.com/danielsiegl/gitsqlite/releases/latest/download/gitsqlite-windows-amd64.exe
2. Install SQLite 3: winget install SQLite.SQLite (Windows) or sudo apt install sqlite3 (Linux)
3. Configure Git filters:
echo '*.db filter=gitsqlite' >> .gitattributes …

0.7.8 Aug 26, 2025

What's Changed
- #30 Add WinGet publishing step to release workflow for Windows artifacts by @danielsiegl in #84
Full Changelog: v0.7.7...v0.7.8
📦 gitsqlite Release
A Git clean/smudge/diff filter for storing SQLite databases in plain text SQL, enabling meaningful diffs and merges.
Quick Start
1. Download the appropriate binary for your platform and make sure it is reachable from Git Bash (Path)
# Example for Windows
curl -L -o gitsqlite.exe https://github.com/danielsiegl/gitsqlite/releases/latest/download/gitsqlite-windows-amd64.exe
2. Install SQLite 3: winget install SQLite.SQLite (Windows) or sudo apt install sqlite3 (Linux)
3. Configure Git filters:
echo '*.db filter=gitsqlite' >> .gitattributes
git config filter.gitsqlite.clean "gitsqlite clean"
git config filter.gitsqlite.smudge "gitsqlite smudge"
git config filter.gitsqlite.diff "gitsqlite diff"
Available Binaries
- Windows: gitsqlite-windows-amd64.exe, gitsqlite-windows-arm64.exe
- Linux: gitsqlite-linux-amd64, gitsqlite-linux-arm64
- macOS: gitsqlite-macos-arm64
📖 Full documentation: README.md

Other versions

  • 0.7.2

Frequently asked questions

Is gitsqlite free?

Yes. gitsqlite is free and open-source software released under the BSD-2-Clause license.

What is the latest version of gitsqlite?

The latest version is 0.9.1, released on Feb 9, 2026.

Is it safe to download gitsqlite?

The download button links to the official installer published on github.com, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with 5bd2684987cf8a16973b95a007a675b968b7ea58e6d3bf9104d36b7e3d4abe29.

Which Windows versions does gitsqlite support?

gitsqlite runs on Windows and is available for 64-bit (x64) systems.

How do I uninstall gitsqlite?

Open Settings › Apps › Installed apps, find gitsqlite and select Uninstall. From the command line, run winget uninstall --id=danielsiegl.gitsqlite -e.

Is there a portable version of gitsqlite?

Yes. gitsqlite is available as a portable program (gitsqlite-windows-amd64.exe, 64-bit (x64)) that runs without installation. Copy it to any folder or USB drive and run it from there.