Hive Hive
Sign in

Skip rewriting project.pbxproj when generation output is unchanged

Metadata
Source
GitHub
Version
4.202.0-canary.5
Published
Jun 26, 2026 · 07:53 UTC
Repository
tuist/tuist
Update

Running tuist generate on a project whose inputs are unchanged no longer rewrites project.pbxproj. Tuist was always serializing and overwriting the file even when the bytes were identical to what was on disk; it now serializes once, compares against the existing file, and only writes when something actually changed.

The practical effect is a quieter working copy: the pbxproj’s modification time and inode stay the same on no-op regenerations, so git status stays clean for it and file-watcher tools (and the Xcode IDE) stop seeing spurious changes. A real structural edit still rewrites the file exactly as before, so behavior on actual regenerations is unchanged.

Source: tuist/tuist#11500