gitignore does not cover Gradle's .kotlin/ build-state directory #128

Closed
opened 2026-08-26 04:41:20 +00:00 by JMR-dev · 0 comments
JMR-dev commented 2026-08-26 04:41:20 +00:00 (Migrated from github.com)

.gitignore does not cover .kotlin/, which Gradle creates in the repo root on
every local build. It has never been committed, so nothing is wrong today — but
git add -A would stage it, and the directory holds Kotlin build-session state
that has no business in history.

Noticed by an agent whose local gradle run left it behind; confirmed:

$ git check-ignore -v .kotlin
  (no match -- NOT ignored)
$ ls -d .kotlin
.kotlin
$ git log --oneline --all -- .kotlin
  (empty -- never committed)

One line. It belongs with /build, .gradle and .cxx, which are the same
category and are already there.

Filed rather than fixed on the spot because every merge under this repo's strict
required-status-checks policy puts the other open PRs BEHIND and forces a
re-update, so a one-line change is worth batching with the next thing that
touches the repo root rather than spending a full CI cycle of its own.

Worth keeping the file's existing habit while doing it: this .gitignore
explains its non-obvious entries in comments (why tools/ffmpeg/out/ is ignored
while bin/ is not; why .claude/ is named file-by-file rather than wholesale).
.kotlin/ is obvious enough not to need one, but do not strip the comments that
are there.

`.gitignore` does not cover `.kotlin/`, which Gradle creates in the repo root on every local build. It has never been committed, so nothing is wrong today — but `git add -A` would stage it, and the directory holds Kotlin build-session state that has no business in history. Noticed by an agent whose local gradle run left it behind; confirmed: ``` $ git check-ignore -v .kotlin (no match -- NOT ignored) $ ls -d .kotlin .kotlin $ git log --oneline --all -- .kotlin (empty -- never committed) ``` **One line.** It belongs with `/build`, `.gradle` and `.cxx`, which are the same category and are already there. Filed rather than fixed on the spot because every merge under this repo's strict required-status-checks policy puts the other open PRs BEHIND and forces a re-update, so a one-line change is worth batching with the next thing that touches the repo root rather than spending a full CI cycle of its own. Worth keeping the file's existing habit while doing it: this `.gitignore` explains its non-obvious entries in comments (why `tools/ffmpeg/out/` is ignored while `bin/` is not; why `.claude/` is named file-by-file rather than wholesale). `.kotlin/` is obvious enough not to need one, but do not strip the comments that are there.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: JMR-dev/LibreMediaConverter#128