fix(LifeosUpgrade): m-005 detect can never match on a case-sensitive filesystem#1547
Open
m8ryx wants to merge 1 commit into
Open
fix(LifeosUpgrade): m-005 detect can never match on a case-sensitive filesystem#1547m8ryx wants to merge 1 commit into
m8ryx wants to merge 1 commit into
Conversation
…an never match The m-005 check tests /^LifeOS\/MEMORY\//m against .gitignore, but the tree uses LIFEOS/MEMORY/ — as do the migration's own name field and the three comment lines directly above the regex. On a case-sensitive filesystem the check can never pass, so a correctly configured install reports m-005 as MISSING permanently. Reproduce on Linux with LIFEOS/MEMORY/ present in .gitignore: bun LIFEOS/TOOLS/LifeosUpgrade.ts --diagnose -> m-005 MISSING macOS hides this because HFS+/APFS are case-insensitive by default.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
LifeosUpgrade.tsm-005 detects whetherLIFEOS/MEMORY/is gitignored, but tests a mixed-case pattern:The three comment lines directly above the regex say
LIFEOS/MEMORY/, the migration's ownnamefield saysPhase G — LIFEOS/MEMORY/ in .gitignore, and the installed tree usesLIFEOS/. Only the pattern disagrees.On a case-sensitive filesystem the check can therefore never match, so a correctly configured install reports m-005 as MISSING permanently — and re-reports it on every
--diagnoserun, with no edit to.gitignoreable to satisfy it.Reproduce
On Linux, with the standard rule present in
.gitignore:Measured against the same file:
macOS hides this: HFS+ and APFS are case-insensitive by default, so the pattern matches there and the migration reports APPLIED.
Fix
One line — align the pattern with the directory the project actually uses:
No behaviour change on macOS, where both forms already match. Detection-only code path;
apply()is untouched.Related casing fixes: #1273, #1259, #1175.