You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit aae8777
Browse filesBrowse the repository at this point in the historyBrowse files
authored
Exclude .DS_Store and .orig files from cache tracking (#1622)
* Add failing test: allTrackedFiles includes .DS_Store and .orig files
Resolves#1032 — .DS_Store files in the cache cause spurious
project regeneration. The source generator already excludes these
files, but allTrackedFiles (used by CacheFile) does not.
This commit adds a test that asserts .DS_Store and .orig files
are excluded from allTrackedFiles. The test fails on the current
implementation.
* Exclude .DS_Store and .orig files from cache tracking
allTrackedFiles now filters out the same files that SourceGenerator
already excludes from project generation. Previously, .DS_Store files
appearing in source directories would invalidate the cache and trigger
a full project regeneration even though nothing in the generated
project would change.
Resolves#1032
* Use NSTemporaryDirectory for test temp files to avoid repo pollution
* Share default excluded files between SourceGenerator and cache tracking
Move the .DS_Store and .orig exclusions into FileType.isDefaultExcluded so
SourceGenerator and Project.allTrackedFiles use one list. Only tracked child
files are filtered, so explicit paths and directories are still tracked.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---------
Co-authored-by: Yonas Kolb <yonaskolb@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,6 +13,7 @@
13
13
### Fixed
14
14
- Fix `syncedFolder` source paths being relative to the spec directory instead of the project directory when they differ, which caused Xcode to treat the synced folder as empty #1636@Ckitakishi
15
15
- Fix nested target attributes (e.g. `attributes.SystemCapabilities`) being serialized as a stringified Swift `Dictionary` description instead of a proper nested plist dictionary, which also caused non-deterministic key ordering in generated `project.pbxproj` files across runs #1639@imadaan@sergeyospanov
16
+
- Fix `.DS_Store` and `.orig` files causing projects to be regenerated when using `--use-cache`#1622@kimjune01
16
17
17
18
### Internal
18
19
- Use a dedicated local package in the SPM fixture so generated fixtures don't depend on the checkout directory name, such as when running tests from a git worktree @yonaskolb
// If includes is empty, it's included. If it's not empty, the path either needs to match exactly, or it needs to be a direct parent of an included path.
0 commit comments