On 1/11/19 5:20 AM, Robert Ramey via Boost wrote:
I'm looking to merge my develop branch into the master so that they will be in sync. I'm thinking that this the changed in develop should be squashed so that the master branch doesn't included all the the intermediate changes made during the develop phase. Is there any boost rule/practice/guidence regarding this?. Ideally, I'd like to see the master have only one set of consolidated changes for each release. But I'm not the person who decides these things or does the work. Any insight by other parties would be appreciated.
I think, squashing commits when merging to master is a terrible idea because it makes tracking differences between develop and master difficult and tracking history of changes by master log virtually impossible. I don't see why would anyone would want to do that. There is also a possible issue with commit authorship, which is presumably lost when you squash commits. Depending on how you deal with commit messages, these might be lost as well. Of course, the decision is yours, so you can do that if you want to. But I hope you're not meaning to force-push to develop the squashed commits because that would affect everyone using develop of your library. In particular, it would break git pull. Also, it breaks superproject, which now references non-existant commits from your git repo. IMO, force-pushing to develop and master should be locked for all libraries.