Squash when merging?

I agree with everything in this thread, I think.

A recent example that I am glad was not squashed when merging is Add `#:indent` to `write-json` [reprise] by LiberalArtist · Pull Request #4686 · racket/racket · GitHub, which consisted of four commits:

  1. [json]: Add `#:indent` to `write-json`. · racket/racket@92ba659 · GitHub
  2. json: add tests for `#:indent` · racket/racket@d10c2fc · GitHub
  3. json: fixup indentation of objects · racket/racket@6f8824d · GitHub
  4. json: remove `#:indent` test datum 2155a30 · racket/racket@7e9b9c6 · GitHub

The first commit was written a year before the rest and by a different author. (I did squash the 11 commits from the earlier PR when picking it up.)

I'm especially glad the third commit was not squashed because there was a lot of discussion in the earlier PR and at Json Beautifier - #2 by LiberalArtist about exactly what behavior the #:indent option should implement. I imagined it could have been horribly confusing to the future bug-hunter not to note in the history the subtle change from the almost-correct behavior.

The last commit was a more marginal case, but the underlying problem confused me enough to err on the side of being explicit.

1 Like