On 1/11/19 5:30 PM, Robert Ramey via Boost wrote:
On 1/11/19 5:29 AM, Andrey Semashev via Boost wrote:
I think, squashing commits when merging to master is a terrible idea because it makes tracking differences between develop and master difficult
When I look at the history of develop and master I expect to see:
on develop - all the history which led me to each release.
on master - the history of the releases - and nothing else.
As it is now - I see in the master the detailed history with a lot small changes - same as the develop. It makes me reluctant to check small changes to develop knowing that all this transient unintrestesing and confusing history will be forever with us.
What do you mean by the history of releases? You can already see the list of releases by git tag. If you want to see the changes between releases then the git log or git diff between the two tags gives you that - in addition to keeping the particular commits that are referenced by PRs, issues and what not with their respective authors and comments. Having git log show only one commit per release, saying something like "Boost X.Y release" is not helpful, IMO. To illustrate, just the other day I had to track down a change in Boost.Filesystem so that I could tell a user when a bug appeared in the code and when it was fixed. I was able to do that, both in terms of Boost realeases and commits with their respective commit messages and dates, because I had a fine grained history with tags. I was able to track down the particular PRs, if I had to. I think, this is an important feature of the detailed git history.