Releases: danielsiegl/gitsqlite
v0.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
- 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
- Install SQLite 3:
winget install SQLite.SQLite(Windows) orsudo apt install sqlite3(Linux) - 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
v0.9.0
What's Changed
- #10 implement a validation if no one tinkered with the files by @danielsiegl in #125
- Add Debian package creation for Linux distributions by @danielsiegl in #127
- #128 only enforces hash validation on restoring sqllite when it is really forced by a command switch by @danielsiegl in #129
Full Changelog: v0.8.0...v0.9.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
- 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
- Install SQLite 3:
winget install SQLite.SQLite(Windows) orsudo apt install sqlite3(Linux) - 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
v0.8.0
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
- 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
- Install SQLite 3:
winget install SQLite.SQLite(Windows) orsudo apt install sqlite3(Linux) - 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
v0.7.9
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
- 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
- Install SQLite 3:
winget install SQLite.SQLite(Windows) orsudo apt install sqlite3(Linux) - 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
v0.7.8
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
- Download the appropriate binary for your platform and make sure it is reachable from Git Bash (Path)
# Example for Windows winget install danielsiegl.gitsqlite # Or download manually: # curl -L -o gitsqlite.exe https://github.com/danielsiegl/gitsqlite/releases/latest/download/gitsqlite-windows-amd64.exe
- Install SQLite 3:
winget install SQLite.SQLite(Windows) orsudo apt install sqlite3(Linux) - 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
v0.7.7
What's Changed
- #76 normalize float so linux and windows produce the same sql by @danielsiegl in #78
- #74 Stream SQLite .dump output line by line to improve memory consump… by @danielsiegl in #75
- #80 Script clean up by @danielsiegl in #81
- #73 Add diff operation by @danielsiegl in #79
Full Changelog: v0.7.6...v0.7.7
📦 gitsqlite Release
A Git clean/smudge/diff filter for storing SQLite databases in plain text SQL, enabling meaningful diffs and merges.
Quick Start
- 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 - Install SQLite 3:
winget install SQLite.SQLite(Windows) orsudo apt install sqlite3(Linux) - 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
v0.7.6
Summary
Loads of improvements to make it more robust when used with a Git Gui
What's Changed
- #55 try to fix hanging when used with Git Gui by @danielsiegl in #56
- #59 Remove macOS amd64 build and release steps from workflows and scr… by @danielsiegl in #62
- #61 Add GitHub Actions job to run integrated smoketest on macOS runners by @danielsiegl in #63
- #57 replace filter logic with sqlite commands by @danielsiegl in #58
- #64 native implementation has also token to long buffer issues by @danielsiegl in #65
- #66 Update ldflags to use internal/version package for build metadata by @danielsiegl in #67
- #68 Added better handling for broken pipe issues by @danielsiegl in #69
- #60 added test scripts by @danielsiegl in #70
- #71 Move I/O functions to io.go and update DumpSelectiveTables to wri… by @danielsiegl in #72
Full Changelog: v0.7.2...v0.7.6
📦 gitsqlite Release
A Git clean/smudge filter for storing SQLite databases in plain text SQL, enabling meaningful diffs and merges.
Quick Start
- 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 - Install SQLite 3:
winget install SQLite.SQLite(Windows) orsudo apt install sqlite3(Linux) - Configure Git filters:
echo '*.db filter=gitsqlite diff=gitsqlite' >> .gitattributes git config filter.gitsqlite.clean "gitsqlite clean" git config filter.gitsqlite.smudge "gitsqlite smudge"
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
v0.7.5
What's Changed
- #55 try to fix hanging when used with Git Gui by @danielsiegl in #56
- #59 Remove macOS amd64 build and release steps from workflows and scr… by @danielsiegl in #62
- #61 Add GitHub Actions job to run integrated smoketest on macOS runners by @danielsiegl in #63
- #57 replace filter logic with sqlite commands by @danielsiegl in #58
- #64 native implementation has also token to long buffer issues by @danielsiegl in #65
- #66 Update ldflags to use internal/version package for build metadata by @danielsiegl in #67
- #68 Added better handling for broken pipe issues by @danielsiegl in #69
- #60 added test scripts by @danielsiegl in #70
Full Changelog: v0.7.2...v0.7.5
📦 gitsqlite Release
A Git clean/smudge filter for storing SQLite databases in plain text SQL, enabling meaningful diffs and merges.
Quick Start
- 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 - Install SQLite 3:
winget install SQLite.SQLite(Windows) orsudo apt install sqlite3(Linux) - Configure Git filters:
echo '*.db filter=gitsqlite diff=gitsqlite' >> .gitattributes git config filter.gitsqlite.clean "gitsqlite clean" git config filter.gitsqlite.smudge "gitsqlite smudge"
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
v0.7.2
What's Changed
- #51 removed publishing of the windows binary by @danielsiegl in #53
Full Changelog: v0.7...v0.7.2
📦 gitsqlite Release
A Git clean/smudge filter for storing SQLite databases in plain text SQL, enabling meaningful diffs and merges.
Quick Start
- 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 - Install SQLite 3:
winget install SQLite.SQLite(Windows) orsudo apt install sqlite3(Linux) - Configure Git filters:
echo '*.db filter=gitsqlite diff=gitsqlite' >> .gitattributes git config filter.gitsqlite.clean "gitsqlite clean" git config filter.gitsqlite.smudge "gitsqlite smudge"
Available Binaries
- Windows:
gitsqlite.exe,gitsqlite-windows-amd64.exe,gitsqlite-windows-arm64.exe - Linux:
gitsqlite-linux-amd64,gitsqlite-linux-arm64 - macOS:
gitsqlite-macos-amd64,gitsqlite-macos-arm64
📖 Full documentation: README.md
🔧 Logging guide: log.md
v0.7
What's Changed
- #21 create a testscript to run in on linux with wsl by @danielsiegl in #22
- #25 Remove --location flag and always show executable path with --ver… by @danielsiegl in #32
- #26 Add stdin check to ensure input data is provided before processing by @danielsiegl in #31
- #23 Add sqlite-version flag to check SQLite presence and show its ver… by @danielsiegl in #35
- #4 add logging to make it easer to diagnose issues by @danielsiegl in #36
- #38 refactor main.go by @danielsiegl in #39
- #33 on windows look for sqllite3 in the default path when installed via winget by @danielsiegl in #41
- #34 Added logic to detect Sqlite installed via apt on Debian Linux by @danielsiegl in #42
- #40 remove obsolete powershell scripts by @danielsiegl in #43
- #45 Use dynamic buffer for long lines in filter by @danielsiegl in #46
- #47 measure dump time in log file by @danielsiegl in #48
- Updated README.md by @danielsiegl in #29
- #49 Add executive summary and usage info to release body instead of R… by @danielsiegl in #50
- #37 Add Ubuntu workflow with integrated round-trip smoketest by @danielsiegl in #44
Full Changelog: v0.6...v0.7
📦 gitsqlite Release
A Git clean/smudge filter for storing SQLite databases in plain text SQL, enabling meaningful diffs and merges.
Quick Start
- Download the appropriate binary for your platform and make sure it is on path from the git bash
- Install SQLite 3:
winget install SQLite.SQLite(Windows) orsudo apt install sqlite3(Linux) - Configure Git filters:
echo '*.db filter=gitsqlite diff=gitsqlite' >> .gitattributes git config filter.gitsqlite.clean "gitsqlite clean" git config filter.gitsqlite.smudge "gitsqlite smudge"
Available Binaries
- Windows:
gitsqlite.exe,gitsqlite-windows-amd64.exe,gitsqlite-windows-arm64.exe - Linux:
gitsqlite-linux-amd64,gitsqlite-linux-arm64 - macOS:
gitsqlite-macos-amd64,gitsqlite-macos-arm64
📖 Full documentation: README.md
🔧 Logging guide: log.md