chore: stop tracking runtime state (SQLite DB, RSpec examples.txt) #19

Merged
james merged 1 commit from chore/gitignore-runtime-state into main 2026-07-30 17:18:47 +00:00
Owner

Problem

Two files sat permanently dirty or untracked in every working copy:

  • data/baktainer.db — the container writes its SQLite database to /data.
    /backups and dev-data had ignore rules; /data did not, so the live DB showed
    up as untracked on every checkout.
  • app/spec/examples.txt — RSpec's generated example-status file, rewritten on
    every test run. It was already listed in .gitignore (line 9), but the rule
    never took effect: the file had been committed earlier, and gitignore does not
    apply to files git is already tracking. So every bundle exec rspec left the
    working tree dirty.

Fix

Two different problems, two different fixes:

File Cause Fix
data/baktainer.db no ignore rule add /data
app/spec/examples.txt tracked despite an existing rule git rm --cached

Adding another ignore rule for examples.txt would have done nothing — the file had
to be removed from the index.

Verification

  • app/spec/examples.txt is still on disk (--cached removes from the index
    only), so RSpec keeps its example-status history
  • Specs re-run after untracking: 36 examples, 0 failures
  • git status now reports a clean tree, and stays clean across a test run
## Problem Two files sat permanently dirty or untracked in every working copy: - **`data/baktainer.db`** — the container writes its SQLite database to `/data`. `/backups` and `dev-data` had ignore rules; `/data` did not, so the live DB showed up as untracked on every checkout. - **`app/spec/examples.txt`** — RSpec's generated example-status file, rewritten on every test run. It was **already listed in `.gitignore`** (line 9), but the rule never took effect: the file had been committed earlier, and gitignore does not apply to files git is already tracking. So every `bundle exec rspec` left the working tree dirty. ## Fix Two different problems, two different fixes: | File | Cause | Fix | |---|---|---| | `data/baktainer.db` | no ignore rule | add `/data` | | `app/spec/examples.txt` | tracked despite an existing rule | `git rm --cached` | Adding another ignore rule for `examples.txt` would have done nothing — the file had to be removed from the index. ## Verification - `app/spec/examples.txt` is **still on disk** (`--cached` removes from the index only), so RSpec keeps its example-status history - Specs re-run after untracking: **36 examples, 0 failures** - `git status` now reports a clean tree, and stays clean across a test run
chore: stop tracking runtime state (SQLite DB, RSpec examples.txt)
All checks were successful
Build, Push & Deploy / build-and-push (pull_request) Has been skipped
Build, Push & Deploy / deploy (Media) (pull_request) Has been skipped
Build, Push & Deploy / deploy (citadel) (pull_request) Has been skipped
Build, Push & Deploy / test (pull_request) Successful in 1m5s
60c33f3985
The container writes its SQLite database to /data, which had no ignore
rule, so data/baktainer.db showed up as untracked on every checkout.

app/spec/examples.txt is RSpec's generated example-status file. It was
already listed in .gitignore, but the rule never took effect because the
file had been committed earlier and gitignore does not apply to tracked
files -- so every test run left it dirty in the working tree. Untrack it
with `git rm --cached`; the file itself stays on disk.

Co-Authored-By: Claude <noreply@anthropic.com>
james merged commit be25887ace into main 2026-07-30 17:18:47 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
james/baktainer!19
No description provided.