Don't create new Solution snapshots if nothing changed#29583
Conversation
This just replicates the pattern used in a few other .With* methods in this type. A better fix would be to update ForkProject to do this automatically, but there's some complexity there as some calls require the fork to happen even if nothing did change. This is just a quick fix as the deeper fix is going to require some time and care.
|
📝 We need to be certain the integration tests pass before merging this. The .editorconfig refresh functionality may be tied to this. |
|
@sharwell Indeed, that special behavior is why I'm not pushing that into ForkProject for now. That logic is on a separate path, not these. |
|
Specifically, see WithProjectOptionsChanged in that file just a bit farther down. |
Can you clarifythat bit ? That sounds worrying :) |
.editorconfig isn't represented in the project system yet, so we detect changes through an external mechanism and trigger a solution change, even though the solution doesn't observe any known changes. This is how we know to re-run analyzers after .editorconfig changed. |
Thanks. That is indeed interesting and terrifying. |
|
Is tehre any issue tracking having .editorconfig be tracked as part of the snapshot? |
Yes, it's part of incorporating the editorconfig-in-compiler branch. |
|
@dotnet-bot retest windows_release_unit64_prtest please. (Hit #29483.) |
|
@dotnet-bot retest ubuntu_16_debug_prtest please. (@rainersigwald suggested a retry, since issue seems undiagnosable from the traces we have.) |
|
@dotnet-bot retest ubuntu_16_debug_prtest please. (Broken by the razor compiler...uh...) |
This just replicates the pattern used in a few other .With* methods in this type. A better fix would be to update ForkProject to do this automatically, but there's some complexity there as some calls require the fork to happen even if nothing did change. This is just a quick fix as the deeper fix is going to require some time and care.