KirillOsenkov / MSBuildStructuredLog

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

Fix the read global properties backcompat issue #743

Closed JanKrivanek closed 5 months ago

JanKrivanek commented 5 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