KirillOsenkov / MSBuildStructuredLog

A logger for MSBuild that records a structured representation of executed targets, tasks, property and item values.
MIT License
1.47k stars 198 forks source link

Fix the read global properties backcompat issue #743

Closed JanKrivanek closed 10 months ago

JanKrivanek commented 10 months ago

Fixes #740

Context

The original PR (#732) was quite loaded - one of the changes was making sure that full roundtrip of writing, reading binlog doesn't loose some minor details that would otherwise prevent full roundtrip equality check. That change was had buggy conditions, but due to flood of other changes it slipped easily.

Fix made

For the previous version of logs we keep the old reading behavior of global props - first flag, then - if the flag is true - the dictionary. For new version of logs (yet to be produced) the dictionary is read allways.

Testing

Manual - the repro binlog, Orchard binlog and couple experimental binlogs of v 18 and above