We understand the reasons commonly argued for squashing commit history when merging.
The practice of squashing history, however, makes it much more burdensome for any contributor who is working from a fork, such as ours: https://github.com/LimnoTech/pygeoapi (used to deploy https://api.water.usgs.gov/). This is because it requires tedious manual investigations to figure out which, if any, of our earlier pull requests have been incorporated in each official release or the main branch. Then, once we have figured that out, we need to rebase some some, but not all, of our branches to align with the current state of the upstream repo. This is a lot of tedious work that we believe adds needless friction to contributing to this project.
The alternative, not squashing commit history when merging, substantially streamlines all of that work, because commit tags and history are preserved among all forks and branches. We are not alone in recognizing that squashing history is harmful. For example, see https://dev.to/wesen/squash-commits-considered-harmful-ob1
@tomkralidis, @webb-ben, @kalxas, please consider changing your practices around squashing history. The community of contributors will appreciate it.
cc. @dblodgett-usgs, @ewojtylko, @ptomasula, @mikemahoney218-usgs
We understand the reasons commonly argued for squashing commit history when merging.
The practice of squashing history, however, makes it much more burdensome for any contributor who is working from a fork, such as ours: https://github.com/LimnoTech/pygeoapi (used to deploy https://api.water.usgs.gov/). This is because it requires tedious manual investigations to figure out which, if any, of our earlier pull requests have been incorporated in each official release or the
mainbranch. Then, once we have figured that out, we need to rebase some some, but not all, of our branches to align with the current state of the upstream repo. This is a lot of tedious work that we believe adds needless friction to contributing to this project.The alternative, not squashing commit history when merging, substantially streamlines all of that work, because commit tags and history are preserved among all forks and branches. We are not alone in recognizing that squashing history is harmful. For example, see https://dev.to/wesen/squash-commits-considered-harmful-ob1
@tomkralidis, @webb-ben, @kalxas, please consider changing your practices around squashing history. The community of contributors will appreciate it.
cc. @dblodgett-usgs, @ewojtylko, @ptomasula, @mikemahoney218-usgs