Problem/Motivation
When running `composer scaffold` (or other Composer command such as `composer install` that end up calling scaffold), a list of every file processed is printed.
In general, this information is useful; however, it is re-printed on every single run of the scaffold operation, leading to very verbose output. In contrast, other Composer commands, e.g. `composer install`, only print output when they are actually doing something, and remain silent in other cases, e.g. if a package has already been downloaded.
Proposed resolution
Do not scaffold a file unless the on-disk version differs from what would be written. Show the scaffold information only for files that are actually written.
Remaining tasks
Commit
User interface changes
Users no longer see excessive information about scaffold files being re-copied at the end of every composer command (install, update, etc).
API changes
None. Only internal to composer plugins (which aren't API).
Data model changes
None.
Release notes snippet
The output of the `composer scaffold` command is now much less verbose. Scaffold operations are only displayed on the first run, or when a file is changed (e.g. rewritten).