Skip to content

is_dirty: ignore untracked content inside submodules#3

Merged
plancherb1 merged 2 commits into
mainfrom
fix-dirty-ignore-submodule-untracked
Jul 6, 2026
Merged

is_dirty: ignore untracked content inside submodules#3
plancherb1 merged 2 commits into
mainfrom
fix-dirty-ignore-submodule-untracked

Conversation

@plancherb1

Copy link
Copy Markdown
Member

Untracked files inside a submodule (build deps, caches) cannot change the code a receipt attests — the parent gitlink pins the submodule content, and a moved pin still reports as modified under --ignore-submodules=untracked. Without this, a consumer whose submodule carries build artifacts can never produce a clean receipt under allow_dirty:false (first hit: GATO's sqpcpu baseline submodule).

Adds tests/test_gitutils.py covering: clean tree, untracked-inside-submodule (clean), untracked-in-parent (dirty), moved pin (dirty).

Consumer flag surface unchanged (GLASS usage unaffected).

🤖 Generated with Claude Code

@plancherb1 plancherb1 merged commit 5f131d9 into main Jul 6, 2026
2 checks passed
@plancherb1 plancherb1 deleted the fix-dirty-ignore-submodule-untracked branch July 6, 2026 01:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant