On 11/07/14 12:27, Rainer Gerhards wrote:
Hi all,

Hello Rainer,

based on recent discussion ([1] is a good entry point), it looks like there
is consensus that feature-branch commits shall be squashed before merging
them into master.

Before implementing such a change, please give it some more time for people to comment and think it through. This is a big change and shouldn't be rushed.

This is a bit bad for me because in almost all cases I
like the ability to see the interim steps that lead to a feature in
question (for bisect, but also to better understand what was going on). I
have also discussed this with my peers in Adiscon and they also prefer the
way it currently is.

I think it's better to have changes split up into smaller cohesive chunks (that also don't break compilation, functionality, are well documented in the commit message and are generally "tidied up"). Having the history more granular helps understanding why what happened where - I personally do that _a lot_. Squashing makes for tidier history but also obfuscates it. Having smaller commits makes reverting changes easier.

That said, I also do a lot of git-blame-ing and getting through the thick graph of merges isn't fun either.

To satisfy both requirements, we have now setup an internal git for Adiscon
use. Our plan is to have a parallel adiscon-master branch inside that repo,
which will contain every detail. Its master branch will mirror the public
git and contain squashed commits.

Please don't. :]
Having multiple branches with the same content but different histories would bring confusion; directly or indirectly.

We now have contributions from Adiscon (including me) and others. Those
from Adiscon will be done in feature branches, with detail commits and be
merged into the adiscon-master branch (so that it contains all details).
Then, I will squash the feature branch into a single commit and merge that
into master. So far, so good.

But now we also have non-Adiscon contributions. A current example is [2].
One question is if they must be squashed as well?

As Brian similarly noted in a previous email, I don't think it's a good idea to squash on the receiving side. I edit and rebase commits all the time before submitting them for inclusion. If I've dissected the change into couple of patches, It's because I think there's a reason for it. If we'll decide to make it a policy to squash everything before inclusion, I'll send a single patch - no need for upstream to do that.

I have this luxury of rewriting my changes because I work in a private branch. Since you push your changes early and often, rebasing (editing, squashing) might be problematic - unless it is made a policy that there are no guaranties about what happens in a feature branch.

Tomas

_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to