I think I agree with Kenn on the "merge question":
 - There should be a merge commit because this records important information, 
for example, I like having the option of figuring out what PR certain commits 
came from
 - Individual meaningful commits of a PR should be preserved, I think having 
commits as small as possible is nice and the git history tells a story of where 
the code came from
 - fixup commits should be squashed

The question of whether to keep or squash commits could also be solved by 
enforcing 1 PR = 1 commit and making people open several PRs where they would 
previously open one PR with several distinct and meaningful commits. This might 
introduce quite some overhead, though.

Best,
Aljoscha

> On 29. Nov 2017, at 09:40, Jean-Baptiste Onofré <j...@nanthrax.net> wrote:
> 
> Hi,
> 
> I don't see why gitbox merge button change what we are doing.
> 
> I agree with Kenn for 1 (reviewer field) & 2 (assignee field).
> 
> IMHO, for 3, I think the reviewer should only use rebase & merge. The squash 
> should be under the contributor scope. The reviewer can ask to squash some 
> commits, but he should not do it himself (the contributor should update the 
> PR with the squashes).
> 
> My $0.01 ;)
> 
> Regards
> JB
> 
> On 11/28/2017 06:45 PM, Kenneth Knowles wrote:
>> Hi all,
>> James brought up a great question in Slack, which was how should we use the 
>> merge button, illustrated [1]
>> I want to broaden the discussion to talk about all the new capabilities:
>> 1. Whether & how to use the "reviewer" field
>> 2. Whether & how to use the "assignee" field
>> 3. Whether & how to use the merge button
>> My preferences are:
>> 1. Use the reviewer field instead of "R:" comments.
>> 2. Use the assignee field to keep track of who the review is blocked on 
>> (either the reviewer for more comments or the author for fixes)
>> 3. Use merge commits, but editing the commit subject line
>> To expand on part 3, GitHub's merge button has three options [1]. They are 
>> not described accurately in the UI, as they all say "merge" when only one of 
>> them performs a merge. They do the following:
>> (a) Merge the branch with a merge commit
>> (b) Squash all the commits, rebase and push
>> (c) Rebase and push without squash
>> Unlike our current guide, all of these result in a "merged" status for the 
>> PR, so we can correctly distinguish those PRs that were actually merged.
>> My votes on these options are:
>> (a) +1 this preserves the most information
>> (b) -1 this erases the most information
>> (c) -0 this is just sort of a middle ground; it breaks commit hashes, does 
>> not have a clear merge commit, but preserves other info
>> Kenn
>> [1] https://apachebeam.slack.com/messages/C1AAFJYMP/
>> Kenn
> 
> -- 
> Jean-Baptiste Onofré
> jbono...@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com

Reply via email to