Skip to content

chore: stop tracking Xcode workspace state and fix the gitignore anch… - #83

Merged
NuPlay merged 1 commit into
mainfrom
chore/untrack-xcode-workspace-state
Aug 29, 2026
Merged

chore: stop tracking Xcode workspace state and fix the gitignore anch…#83
NuPlay merged 1 commit into
mainfrom
chore/untrack-xcode-workspace-state

Conversation

@NuPlay

@NuPlay NuPlay commented Aug 29, 2026

Copy link
Copy Markdown
Owner

Problem

.gitignore ignored this path:

.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata

A gitignore pattern containing a slash is anchored to the directory holding the .gitignore, so the rule only ever covered the copy at the repository root. The identical file under TestApp/ did not match and was committed. Confirmed with git check-ignore:

IGNORED      .swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
NOT ignored  TestApp/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata

IDEWorkspaceChecks.plist was tracked and matched by no rule at all. It holds a single IDEDidComputeMac32BitWarning flag - local Xcode state with nothing to do with the package.

Changes

  • Anchor both patterns with **/ so they apply at any depth.
  • Untrack the two files. They are not deleted; Xcode regenerates them.
  • Ignore .claude/, which was neither tracked nor ignored and so kept getting picked up by git add -A.

Tracked files go from 25 to 23. No source change.

Audit

While here, the repository was checked for anything else that should not have been committed:

check result
.DS_Store / xcuserdata / .build / DerivedData / certificates / key files, anywhere in history never present
tokens (ghp_, github_pat_, sk-, AKIA, PRIVATE KEY, xox*) across all 798 objects including unreachable ones none
email addresses in blob contents only test@example.com, a test fixture
/Users/... local absolute paths none
tracked-but-ignored files none
executable bits only run-ci-command.sh, correct

Nothing here needs a history rewrite.

…oring

`.gitignore` ignored `.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata`,
but a pattern containing a slash is anchored to the directory holding the
`.gitignore`. The rule therefore only covered the copy at the repository root,
and the identical file under `TestApp/` was committed. Anchor both with `**/`.

`IDEWorkspaceChecks.plist` was tracked and matched by no rule at all. It holds a
single `IDEDidComputeMac32BitWarning` flag, which is local Xcode state and has
nothing to do with the package.

Both files are only untracked here, not deleted; Xcode regenerates them.

Also ignore `.claude/`, which was neither tracked nor ignored and so was picked
up by `git add -A`.
Copilot AI lite review requested due to automatic review settings August 29, 2026 09:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@NuPlay NuPlay added the bug Something isn't working label Aug 29, 2026
@NuPlay NuPlay self-assigned this Aug 29, 2026
@NuPlay
NuPlay merged commit 1b84fee into main Aug 29, 2026
1 check passed
@NuPlay
NuPlay deleted the chore/untrack-xcode-workspace-state branch August 29, 2026 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants