This is more of a repo management issue.
I think it would be preferable to use squashed commits for PRs. In my debugging today, it was really annoying to try to "bisect" issues because of the totally messed up history of commits. This is, obviously, the broken-out-of-the-box behavior of Git to create this mess in the first place.
It would be nice to try to only have commits on the main branch where the code is expected to work. Without squashing, when merging a PR, you get a jumbled history that mixes in all the intermediate "work-in-progress" commits of long running feature branches along with other bug-fixes and release commits.
As far as I can tell, right now, only the snapshots at the different release versions actually work, every commit in between and up to current HEAD is broken in some way. E.g., the result of today's bisecting is that version 2.0.6 is only slightly broken (maybe that race condition you just fixed, but I cannot test it) and HEAD is totally broken (for me), but I have no idea beyond that where it broke.
Squashing PRs is, afaik, the poor-man's alternative to having proper version control system (like piper).
This is more of a repo management issue.
I think it would be preferable to use squashed commits for PRs. In my debugging today, it was really annoying to try to "bisect" issues because of the totally messed up history of commits. This is, obviously, the broken-out-of-the-box behavior of Git to create this mess in the first place.
It would be nice to try to only have commits on the main branch where the code is expected to work. Without squashing, when merging a PR, you get a jumbled history that mixes in all the intermediate "work-in-progress" commits of long running feature branches along with other bug-fixes and release commits.
As far as I can tell, right now, only the snapshots at the different release versions actually work, every commit in between and up to current HEAD is broken in some way. E.g., the result of today's bisecting is that version 2.0.6 is only slightly broken (maybe that race condition you just fixed, but I cannot test it) and HEAD is totally broken (for me), but I have no idea beyond that where it broke.
Squashing PRs is, afaik, the poor-man's alternative to having proper version control system (like piper).