fix(update): ignore cron/executions.db sidecars, not just the base file

`/*.db-wal` / `/*.db-shm` only match at the checkout root, so on a flat
install `git stash push --include-untracked` still swept
`cron/executions.db-wal` / `-shm` while the scheduler held the WAL-mode
database open (cron.executions._connect opens it via open_db in WAL mode).
The base file stayed put but its WAL vanished under a live writer, so the
next `_connect()` failed with `disk I/O error` (review finding on #111175).

Use `/cron/executions.db*` like the gateway recovery db rule already does,
covering -wal/-shm/-journal and retired-WAL dirs. Every other non-root db
rule in the block already uses the glob. The regression tuple gains the two
sidecars, and the stash test gets the reviewer's repro against the real
`_stash_local_changes_if_needed`: an open WAL connection with one committed
row must still be readable from a fresh connection afterwards.
This commit is contained in:
kshitijk4poor
2026-09-15 10:51:03 +05:30
committed by kshitij
parent 3ce06055d6
commit 49b8f06abe
2 changed files with 34 additions and 1 deletions
+1 -1
View File
@@ -188,7 +188,7 @@ docs/superpowers/*
/gateway/discord_message_recovery.db*
/sessions/
/browser-profile/
/cron/executions.db
/cron/executions.db*
/cron/jobs.json
/cron.pid
/gateway.lock