On Jul 28, 2011, at 2:01 PM, David A. Greene wrote:> Chris Lattner <clattner at apple.com> writes: > >> On Jul 22, 2011, at 10:45 PM, greened at obbligato.org (David A. Greene) wrote: > >>> I'm a little confused. To me "staging" means incremental development, >>> getting things integrated correctly, etc. The final merge to "mainline" >>> is little more than a formality. You don't really want each individual >>> commit from the local branch cherry-picked on-by-one to mainline, do >>> you? > >> Yes, I do. > > Why?Because I optimize for the code reviewer, not the patch submitter. -Chris
Chris Lattner <clattner at apple.com> writes:> On Jul 28, 2011, at 2:01 PM, David A. Greene wrote: > >> Chris Lattner <clattner at apple.com> writes: >> >>> On Jul 22, 2011, at 10:45 PM, greened at obbligato.org (David A. Greene) wrote: >> >>>> I'm a little confused. To me "staging" means incremental development, >>>> getting things integrated correctly, etc. The final merge to "mainline" >>>> is little more than a formality. You don't really want each individual >>>> commit from the local branch cherry-picked on-by-one to mainline, do >>>> you? >> >>> Yes, I do. >> >> Why? > > Because I optimize for the code reviewer, not the patch submitter.Ok, but that still doesn't answer the question. How does cherry-picking help the code reviewer? He or she still has to review each individual patch, right? The patches are going to be reviewed while they are in some local branch. Are you saying they will be reviewed again as they get cherry-picked? Or are you saying the developer should develop in a local branch, merge into his copy of master, send the patches from that copy of master for review and then push master upstream? Actually, the latter option is not too bad and is the typical "git way." I assume you'd want a rebase before sending for review and the push, to maintain some kind of linear-like history. But that latter option doesn't involve cherry-picking. So I guess I'm confused about what you really want. :) -Dave
On Jul 29, 2011, at 11:20 AM, David A. Greene wrote:> Chris Lattner <clattner at apple.com> writes: > >> On Jul 28, 2011, at 2:01 PM, David A. Greene wrote: >> >>> Chris Lattner <clattner at apple.com> writes: >>> >>>> On Jul 22, 2011, at 10:45 PM, greened at obbligato.org (David A. Greene) wrote: >>> >>>>> I'm a little confused. To me "staging" means incremental development, >>>>> getting things integrated correctly, etc. The final merge to "mainline" >>>>> is little more than a formality. You don't really want each individual >>>>> commit from the local branch cherry-picked on-by-one to mainline, do >>>>> you? >>> >>>> Yes, I do. >>> >>> Why? >> >> Because I optimize for the code reviewer, not the patch submitter. > > Ok, but that still doesn't answer the question. How does cherry-picking > help the code reviewer? He or she still has to review each individual > patch, right? The patches are going to be reviewed while they are in > some local branch. Are you saying they will be reviewed again as they > get cherry-picked?I'm saying that when I ask for you to change your approach in patch #6, that that change can cause substantial differences in patch #7-20. Reviewers should not waste their time looking at patches that need to be revised anyway. -Chris