gamesguru/git-sqlite-filter.git
2 days agofix: robust smudge filter and cleaner shadow table detection master
Shane Jaroch [Sat, 24 Jan 2026 00:03:13 +0000 (19:03 -0500)]
fix: robust smudge filter and cleaner shadow table detection

- smudge: Add resilience for "no such table" errors (warn & skip)
- smudge: Improve FTS trigger detection using regex for accuracy
- clean: Dynamically identify FTS shadow tables instead of rigid suffix matching
- test: Add regression test for smudge error handling ([test_smudge_resilience.py](cci:7://file:///home/shane/repos/git-sqlite-filter/test/test_smudge_resilience.py:0:0-0:0))
- test: Add persistence fixture `test/fixtures/trigger_persistence.db`
- dev: Add pylint and mypy to dev requirements and Makefile

3 days agofix: guard SIGPIPE for Windows compatibility
Shane Jaroch [Thu, 22 Jan 2026 21:17:09 +0000 (16:17 -0500)]
fix: guard SIGPIPE for Windows compatibility

3 days agoMerge branch 'cleanups'
Shane Jaroch [Thu, 22 Jan 2026 21:13:35 +0000 (16:13 -0500)]
Merge branch 'cleanups'

3 days agofixup submodule skip logic cleanups 1/head
Shane Jaroch [Sat, 3 Jan 2026 07:35:18 +0000 (02:35 -0500)]
fixup submodule skip logic

why was nss_helper deleted tho?

skip virtual tables; deterministic checks; sqlite ver

chore: fix sqlite filter to skip virtual tables

Fixed multiple code violations and quality issues across the codebase.

    - **[pyproject.toml](file:///home/shane/repos/git-sqlite-filter/pyproject.toml)**: Corrected `norecursedirs` to exclude `fixtures` properly.

    - **[clean.py](file:///home/shane/repos/git-sqlite-filter/src/git_sqlite_filter/clean.py)**:
        - Wrapped subprocess calls in `try/except subprocess.TimeoutExpired`.
        - Removed broad `except Exception` pass.
        - Used `shutil.copyfileobj` for efficient streaming.
        - Fixed `debug` variable usage.
    - **[smudge.py](file:///home/shane/repos/git-sqlite-filter/src/git_sqlite_filter/smudge.py)**:
        - Updated `ROLLBACK` check to allow `ROLLBACK TO savepoint`.

    - **`test_run.py`**: Added `stderr` capture to subprocess calls for better debugging.
    - **`ffpass_utils.py`**: Updated type hints to `list | None`.
    - **`test_mp_stdin.py`**: Improved mocking using `patch.object` and fixed indentation.
    - **`test_key.py`**: Implemented context manager for SQLite connections.
    - **`test_mixed_keys_run.py`**: Replaced system stdout patching with `contextlib.redirect_stdout`.
    - **`test_native_verify.py`**: Fixed broken import path (`.nss_helper` -> `ffpass_utils`).

    - **`nss_native.py`**:
        - Fixed memory leak by freeing `SECItem`.
        - Updated docstrings.
        - Removed commented-out logic and duplicate checks.

    - **`test_verification.py`**:
        - Fixed `PYTHONPATH` injection.
        - Added `sqlite3` binary availability check.
        - Cleaned up comments and syntax.

    - `pytest test/test_verification.py`: **PASSED** (Verifies core clean/smudge logic).
    - `pytest test/fixtures/ff-tests/...`: **RAN** (Failures due to missing `ffpass` dependency, but import/syntax errors resolved).

use git-sqlite-filter to checkout *.db on CI

cubic: lints/fixes

add %f and require to sqlite filter on git CI

address weird, sudden wheel failure on python 3.8

3 days agoMerge pull request #2 from gamesguru/dependabot/pip/pip-92131b0f06
Shane Jaroch [Thu, 22 Jan 2026 20:46:06 +0000 (15:46 -0500)]
Merge pull request #2 from gamesguru/dependabot/pip/pip-92131b0f06

Bump wheel from 0.43.0 to 0.46.2 in the pip group across 1 directory

3 days agoBump wheel from 0.43.0 to 0.46.2 in the pip group across 1 directory 2/head
dependabot[bot] [Thu, 22 Jan 2026 19:07:35 +0000 (19:07 +0000)]
Bump wheel from 0.43.0 to 0.46.2 in the pip group across 1 directory

Bumps the pip group with 1 update in the / directory: [wheel](https://github.com/pypa/wheel).

Updates `wheel` from 0.43.0 to 0.46.2
- [Release notes](https://github.com/pypa/wheel/releases)
- [Changelog](https://github.com/pypa/wheel/blob/main/docs/news.rst)
- [Commits](https://github.com/pypa/wheel/compare/0.43.0...0.46.2)

---
updated-dependencies:
- dependency-name: wheel
  dependency-version: 0.46.2
  dependency-type: direct:development
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <support@github.com>
3 weeks agoenhance warning message
Shane Jaroch [Fri, 2 Jan 2026 23:55:35 +0000 (18:55 -0500)]
enhance warning message

3 weeks agowip
Shane Jaroch [Fri, 2 Jan 2026 23:52:19 +0000 (18:52 -0500)]
wip

3 weeks agofixup! remove maybe_warn() tty smudge nonsense bloat
Shane Jaroch [Fri, 2 Jan 2026 14:04:04 +0000 (09:04 -0500)]
fixup! remove maybe_warn() tty smudge nonsense bloat

3 weeks agoremove maybe_warn() tty smudge nonsense bloat
Shane Jaroch [Fri, 2 Jan 2026 14:04:04 +0000 (09:04 -0500)]
remove maybe_warn() tty smudge nonsense bloat

3 weeks agosmall tidy
Shane Jaroch [Fri, 2 Jan 2026 13:55:05 +0000 (08:55 -0500)]
small tidy

3 weeks agoSkip FTS5 Internal Triggers
Shane Jaroch [Fri, 2 Jan 2026 13:31:52 +0000 (08:31 -0500)]
Skip FTS5 Internal Triggers

3 weeks agoprompt for input to writes; faster test
Shane Jaroch [Fri, 2 Jan 2026 13:15:18 +0000 (08:15 -0500)]
prompt for input to writes; faster test

3 weeks agofix warning/stdin hanging test; drop coverage
Shane Jaroch [Fri, 2 Jan 2026 13:11:15 +0000 (08:11 -0500)]
fix warning/stdin hanging test; drop coverage

3 weeks agoimproved tests
Shane Jaroch [Fri, 2 Jan 2026 12:30:21 +0000 (07:30 -0500)]
improved tests

3 weeks agoadd important smudge test
Shane Jaroch [Fri, 2 Jan 2026 12:20:45 +0000 (07:20 -0500)]
add important smudge test

3 weeks agolog sqlite binary version; improve warning/logging
Shane Jaroch [Fri, 2 Jan 2026 12:15:52 +0000 (07:15 -0500)]
log sqlite binary version; improve warning/logging

3 weeks agosimplify sentinel timeout
Shane Jaroch [Fri, 2 Jan 2026 12:12:03 +0000 (07:12 -0500)]
simplify sentinel timeout

3 weeks agoimprove
Shane Jaroch [Fri, 2 Jan 2026 12:11:57 +0000 (07:11 -0500)]
improve

3 weeks agosimpler warning message for locked DBs
Shane Jaroch [Fri, 2 Jan 2026 11:59:36 +0000 (06:59 -0500)]
simpler warning message for locked DBs

3 weeks agotidy up
Shane Jaroch [Fri, 2 Jan 2026 11:56:08 +0000 (06:56 -0500)]
tidy up

3 weeks agoavoid subprocess calls in tests; messed up coverage
Shane Jaroch [Fri, 2 Jan 2026 11:49:37 +0000 (06:49 -0500)]
avoid subprocess calls in tests; messed up coverage

3 weeks agorearrange pyproject stuff
Shane Jaroch [Fri, 2 Jan 2026 11:48:22 +0000 (06:48 -0500)]
rearrange pyproject stuff

3 weeks agoupdate test files & distro version releases
Shane Jaroch [Fri, 2 Jan 2026 11:42:55 +0000 (06:42 -0500)]
update test files & distro version releases

3 weeks agoclean with every deploy
Shane Jaroch [Fri, 2 Jan 2026 11:35:09 +0000 (06:35 -0500)]
clean with every deploy

3 weeks agoRelease v0.1.2
Shane Jaroch [Fri, 2 Jan 2026 11:33:59 +0000 (06:33 -0500)]
Release v0.1.2

3 weeks agoadd missing make target, comment v0.1.2
Shane Jaroch [Fri, 2 Jan 2026 11:32:42 +0000 (06:32 -0500)]
add missing make target, comment

3 weeks agoRelease v0.1.1
Shane Jaroch [Fri, 2 Jan 2026 11:22:04 +0000 (06:22 -0500)]
Release v0.1.1

3 weeks agoupdate for pypi inclusion of files v0.1.1
Shane Jaroch [Fri, 2 Jan 2026 11:14:01 +0000 (06:14 -0500)]
update for pypi inclusion of files

3 weeks agoupdate rpm spec
Shane Jaroch [Fri, 2 Jan 2026 11:08:41 +0000 (06:08 -0500)]
update rpm spec

3 weeks agoMakefile
Shane Jaroch [Fri, 2 Jan 2026 11:06:56 +0000 (06:06 -0500)]
Makefile

3 weeks agogitignore
Shane Jaroch [Fri, 2 Jan 2026 11:05:20 +0000 (06:05 -0500)]
gitignore

3 weeks agodebian stuff/fixes/tweaks
Shane Jaroch [Fri, 2 Jan 2026 11:03:50 +0000 (06:03 -0500)]
debian stuff/fixes/tweaks

3 weeks agodrop coverage to 55
Shane Jaroch [Fri, 2 Jan 2026 10:57:20 +0000 (05:57 -0500)]
drop coverage to 55

3 weeks agoadd coverage
Shane Jaroch [Fri, 2 Jan 2026 10:56:09 +0000 (05:56 -0500)]
add coverage

3 weeks agosimplify test v0.1.0
Shane Jaroch [Fri, 2 Jan 2026 10:50:06 +0000 (05:50 -0500)]
simplify test

3 weeks agoMakefile; format python
Shane Jaroch [Fri, 2 Jan 2026 10:49:38 +0000 (05:49 -0500)]
Makefile; format python

3 weeks agokeep going
Shane Jaroch [Fri, 2 Jan 2026 10:32:05 +0000 (05:32 -0500)]
keep going

3 weeks agowip
Shane Jaroch [Fri, 2 Jan 2026 10:24:35 +0000 (05:24 -0500)]
wip

3 weeks agoadd license
Shane Jaroch [Fri, 2 Jan 2026 10:18:53 +0000 (05:18 -0500)]
add license

3 weeks agokeep adding, updating, debug note
Shane Jaroch [Fri, 2 Jan 2026 10:15:02 +0000 (05:15 -0500)]
keep adding, updating, debug note

3 weeks agowip, keep trucking
Shane Jaroch [Fri, 2 Jan 2026 10:12:20 +0000 (05:12 -0500)]
wip, keep trucking

3 weeks agoformat code
Shane Jaroch [Fri, 2 Jan 2026 10:07:40 +0000 (05:07 -0500)]
format code

3 weeks agoupdate makefile and gitignore
Shane Jaroch [Fri, 2 Jan 2026 10:07:05 +0000 (05:07 -0500)]
update makefile and gitignore

3 weeks agoupdate PKG-INFO
Shane Jaroch [Fri, 2 Jan 2026 10:04:46 +0000 (05:04 -0500)]
update PKG-INFO

3 weeks agoupdate/fix
Shane Jaroch [Fri, 2 Jan 2026 10:00:28 +0000 (05:00 -0500)]
update/fix

3 weeks agodebugging
Shane Jaroch [Fri, 2 Jan 2026 09:54:40 +0000 (04:54 -0500)]
debugging

3 weeks agobroken
Shane Jaroch [Fri, 2 Jan 2026 09:50:12 +0000 (04:50 -0500)]
broken

3 weeks agorefactor/rename folders
Shane Jaroch [Fri, 2 Jan 2026 09:47:57 +0000 (04:47 -0500)]
refactor/rename folders

3 weeks agotidy logic for ordering & such
Shane Jaroch [Fri, 2 Jan 2026 09:44:43 +0000 (04:44 -0500)]
tidy logic for ordering & such

3 weeks agotrack autoincrement (restore)
Shane Jaroch [Fri, 2 Jan 2026 09:38:56 +0000 (04:38 -0500)]
track autoincrement (restore)

3 weeks agosemantic/smart noise reduction
Shane Jaroch [Fri, 2 Jan 2026 09:36:09 +0000 (04:36 -0500)]
semantic/smart noise reduction

3 weeks agowip
Shane Jaroch [Fri, 2 Jan 2026 09:32:31 +0000 (04:32 -0500)]
wip

3 weeks agoadd Makefile; format python
Shane Jaroch [Fri, 2 Jan 2026 09:26:03 +0000 (04:26 -0500)]
add Makefile; format python

3 weeks agocommit dbs? keep going?
Shane Jaroch [Fri, 2 Jan 2026 09:22:23 +0000 (04:22 -0500)]
commit dbs? keep going?

3 weeks agoupdate py scripts
Shane Jaroch [Fri, 2 Jan 2026 09:22:17 +0000 (04:22 -0500)]
update py scripts

3 weeks agowip
Shane Jaroch [Fri, 2 Jan 2026 09:18:22 +0000 (04:18 -0500)]
wip

3 weeks agohandle locked DBs?
Shane Jaroch [Fri, 2 Jan 2026 09:15:49 +0000 (04:15 -0500)]
handle locked DBs?

3 weeks agokeep trucking
Shane Jaroch [Fri, 2 Jan 2026 09:15:23 +0000 (04:15 -0500)]
keep trucking

3 weeks agofixup! add gitconfig example
Shane Jaroch [Fri, 2 Jan 2026 09:06:53 +0000 (04:06 -0500)]
fixup! add gitconfig example

3 weeks agoupdate gitattributes
Shane Jaroch [Fri, 2 Jan 2026 09:05:08 +0000 (04:05 -0500)]
update gitattributes

3 weeks agoadd gitconfig example
Shane Jaroch [Fri, 2 Jan 2026 09:04:00 +0000 (04:04 -0500)]
add gitconfig example

3 weeks agoupdate
Shane Jaroch [Fri, 2 Jan 2026 08:53:49 +0000 (03:53 -0500)]
update

3 weeks agotrack smudge script
Shane Jaroch [Fri, 2 Jan 2026 06:16:40 +0000 (01:16 -0500)]
track smudge script

3 weeks agoinit
Shane Jaroch [Fri, 2 Jan 2026 04:43:11 +0000 (23:43 -0500)]
init