--
On Mon, May 21, 2018 at 2:11 PM, Simon Glass <s...@chromium.org> wrote:
> Hi,
>
> In google3 when you get an LGTM it is sticky, meaning that you can upload a
> new commit and keep the LGTM, so long as yo don't add/remove any files.
Edits to existing files between patch versions may change logic. Why
would you want the +2 be sticky in that situation?
I won't give a strong opinion on this, but some anecdata and real data:* +2 is sticky if the diff doesn't change (e.g., only commit message or metadata changed)* I've very recently had to NAK people who "carried" my +2 incorrectly (their rebase was done incorrectly)At least for the latter problem, your #2 becomes a feature, not a bug :D
Also, if you were to restrict this to just full committers, then what's the difference from today, with people being forced to put their own name on the "carried" +2?
On 21 May 2018 at 14:20, Brian Norris <brian...@chromium.org> wrote:I won't give a strong opinion on this, but some anecdata and real data:* +2 is sticky if the diff doesn't change (e.g., only commit message or metadata changed)* I've very recently had to NAK people who "carried" my +2 incorrectly (their rebase was done incorrectly)At least for the latter problem, your #2 becomes a feature, not a bug :DYes, but I suppose people can always +2 their own patch, so perhaps we should rethink that at the same time?
Also, if you were to restrict this to just full committers, then what's the difference from today, with people being forced to put their own name on the "carried" +2?Actually I would like to keep the existing +2 when uploading a new patch, not remove it. This is how google3 works.
On Mon, May 21, 2018 at 1:22 PM, Simon Glass <s...@chromium.org> wrote:On 21 May 2018 at 14:20, Brian Norris <brian...@chromium.org> wrote:I won't give a strong opinion on this, but some anecdata and real data:* +2 is sticky if the diff doesn't change (e.g., only commit message or metadata changed)* I've very recently had to NAK people who "carried" my +2 incorrectly (their rebase was done incorrectly)At least for the latter problem, your #2 becomes a feature, not a bug :DYes, but I suppose people can always +2 their own patch, so perhaps we should rethink that at the same time?Is that to say you can't self+2 in other systems (e.g., google3)?
Also, if you were to restrict this to just full committers, then what's the difference from today, with people being forced to put their own name on the "carried" +2?Actually I would like to keep the existing +2 when uploading a new patch, not remove it. This is how google3 works.I understand what you're proposing, but I'm just saying that your proposal (if restricted to full committers) can be implemented today with a self+2. And my claim was that if it's necessary, maybe that's a good thing -- I personally wouldn't want my +2 put onto the aforementioned CL (which I had to NAK).
If such a solution were in place, I'd have to be even more aggressive at paying attention to reuploads, to avoid rubber stamping changed (and broken) logic. Today, I know that the most harm someone can do is change the commit message or perform no-op rebases (I think?).
Anyway, that's a single instance. There probably were significantly more where a carried +2 would do just fine.
my biggest concern would be with non-committers uploading new changes after getting a +2, and their new change is evil.
Hi Brian,On 21 May 2018 at 14:32, Brian Norris <brian...@chromium.org> wrote:On Mon, May 21, 2018 at 1:22 PM, Simon Glass <s...@chromium.org> wrote:On 21 May 2018 at 14:20, Brian Norris <brian...@chromium.org> wrote:I won't give a strong opinion on this, but some anecdata and real data:* +2 is sticky if the diff doesn't change (e.g., only commit message or metadata changed)* I've very recently had to NAK people who "carried" my +2 incorrectly (their rebase was done incorrectly)At least for the latter problem, your #2 becomes a feature, not a bug :DYes, but I suppose people can always +2 their own patch, so perhaps we should rethink that at the same time?Is that to say you can't self+2 in other systems (e.g., google3)?Yes.
On Tue, May 22, 2018 at 10:37 PM Jonathan Brandmeyer <jbran...@chromium.org> wrote:On Mon, May 21, 2018 at 11:35 PM, Mike Frysinger <vap...@chromium.org> wrote:my biggest concern would be with non-committers uploading new changes after getting a +2, and their new change is evil.This risk is mitigated somewhat in Google3 by the email that the system sends out when a CL is submitted (`submit` in this case is analogous to `commit` in Git). If there are any changes in between the last LGTM and the time it was submitted, then Critique/Piper specifically calls out those changes in the email.Chromium can summarize that too, but i don't think these two scenarios are that comparable ... people committing to Google3 are employed by Google and so there's a lever to pull if they do something evil. there is no such guarantee with open source projects ...
the only barrier to contributions is creating a Gerrit account which only needs an e-mail address (iirc), so anyone can spin up throw away accounts at anytime.
On Tue, May 22, 2018 at 8:42 AM, Mike Frysinger <vap...@chromium.org> wrote:On Tue, May 22, 2018 at 10:37 PM Jonathan Brandmeyer <jbran...@chromium.org> wrote:On Mon, May 21, 2018 at 11:35 PM, Mike Frysinger <vap...@chromium.org> wrote:my biggest concern would be with non-committers uploading new changes after getting a +2, and their new change is evil.This risk is mitigated somewhat in Google3 by the email that the system sends out when a CL is submitted (`submit` in this case is analogous to `commit` in Git). If there are any changes in between the last LGTM and the time it was submitted, then Critique/Piper specifically calls out those changes in the email.Chromium can summarize that too, but i don't think these two scenarios are that comparable ... people committing to Google3 are employed by Google and so there's a lever to pull if they do something evil. there is no such guarantee with open source projects ...By "lever to pull if they do something evil", I assume you mean disciplinary action. That's true, but I'm not sure its important as far as project safety is concerned. By far the most common lever to be pulled is that CL's are reverted (similar to git revert && git commit together), and the most common reason to pull that lever is that the CL broke another team's code halfway ~~around the world~~ across the company. Usually these aren't caused by post-review changes, but if your reviewer really doesn't like how you addressed their feedback, they could revert the CL in the same way.
the only barrier to contributions is creating a Gerrit account which only needs an e-mail address (iirc), so anyone can spin up throw away accounts at anytime.At least for Chromium, users need to sign a CLA. I'm not familiar with all of the verification that goes on for CLA's, but I suspect that throw-away accounts won't meet the bar to pass them.
Hi Brian,On 21 May 2018 at 14:32, Brian Norris <brian...@chromium.org> wrote:On Mon, May 21, 2018 at 1:22 PM, Simon Glass <s...@chromium.org> wrote:On 21 May 2018 at 14:20, Brian Norris <brian...@chromium.org> wrote:I won't give a strong opinion on this, but some anecdata and real data:* +2 is sticky if the diff doesn't change (e.g., only commit message or metadata changed)* I've very recently had to NAK people who "carried" my +2 incorrectly (their rebase was done incorrectly)At least for the latter problem, your #2 becomes a feature, not a bug :DYes, but I suppose people can always +2 their own patch, so perhaps we should rethink that at the same time?Is that to say you can't self+2 in other systems (e.g., google3)?Yes.Also, if you were to restrict this to just full committers, then what's the difference from today, with people being forced to put their own name on the "carried" +2?Actually I would like to keep the existing +2 when uploading a new patch, not remove it. This is how google3 works.I understand what you're proposing, but I'm just saying that your proposal (if restricted to full committers) can be implemented today with a self+2. And my claim was that if it's necessary, maybe that's a good thing -- I personally wouldn't want my +2 put onto the aforementioned CL (which I had to NAK).Are you sure? From what I see the reviewers' +2s get lost when you upload a new patch, no matter how minor the change to the commit.
If such a solution were in place, I'd have to be even more aggressive at paying attention to reuploads, to avoid rubber stamping changed (and broken) logic. Today, I know that the most harm someone can do is change the commit message or perform no-op rebases (I think?).Yes that's right. If you were nervous about someone's work you could watch the emails carefully!Anyway, that's a single instance. There probably were significantly more where a carried +2 would do just fine.Well perhaps we should try it for 3 months and see which people prefer, perhaps with a survey? Any other ideas on how to determine the cost/benefit?
I won't give a strong opinion on this, but some anecdata and real data:* +2 is sticky if the diff doesn't change (e.g., only commit message or metadata changed)* I've very recently had to NAK people who "carried" my +2 incorrectly (their rebase was done incorrectly)
On 21 May 2018 at 14:17, Aaron Durbin <adu...@chromium.org> wrote:On Mon, May 21, 2018 at 2:11 PM, Simon Glass <s...@chromium.org> wrote:
> Hi,
>
> In google3 when you get an LGTM it is sticky, meaning that you can upload a
> new commit and keep the LGTM, so long as yo don't add/remove any files.
Edits to existing files between patch versions may change logic. Why
would you want the +2 be sticky in that situation?I assume a certain level of trust that people don't make significant changes (they are mostly +2 reviewers themselves, after all), and they have the option of requesting PTAL.
On Monday, May 21, 2018 at 1:20:14 PM UTC-7, Brian Norris wrote:I won't give a strong opinion on this, but some anecdata and real data:* +2 is sticky if the diff doesn't change (e.g., only commit message or metadata changed)* I've very recently had to NAK people who "carried" my +2 incorrectly (their rebase was done incorrectly)Thanks for mentioning this.More details:Brian Norris has, in the past, found egregious mistakes in my later patch-set revisions, long after I got a +2, say PS#3 or PS#5.e.g. CL:1034378 which I found by searching Gerrit for "your rebase wasn't great".This more likely means that I am a terrible developer, but I am sure I am not the only one who's tired or distracted after multiple attempts to get something right.I am grateful for reviewers like Brian, and this "feature" will take that away - reviewers don't have the same motivation to review if the same +2 stays sticky.How is an automated system useful if it relies on humans noticing and intervening in a situation like this: I make a trivial diff, have it +2ed by people I've never worked with, then change the diff to give the file a 'makeover'.They notice only when it lands.
On 15 June 2018 at 11:11, Kirtika Ruchandani <kir...@google.com> wrote:On Monday, May 21, 2018 at 1:20:14 PM UTC-7, Brian Norris wrote:I won't give a strong opinion on this, but some anecdata and real data:* +2 is sticky if the diff doesn't change (e.g., only commit message or metadata changed)* I've very recently had to NAK people who "carried" my +2 incorrectly (their rebase was done incorrectly)Thanks for mentioning this.More details:Brian Norris has, in the past, found egregious mistakes in my later patch-set revisions, long after I got a +2, say PS#3 or PS#5.e.g. CL:1034378 which I found by searching Gerrit for "your rebase wasn't great".This more likely means that I am a terrible developer, but I am sure I am not the only one who's tired or distracted after multiple attempts to get something right.I am grateful for reviewers like Brian, and this "feature" will take that away - reviewers don't have the same motivation to review if the same +2 stays sticky.How is an automated system useful if it relies on humans noticing and intervening in a situation like this: I make a trivial diff, have it +2ed by people I've never worked with, then change the diff to give the file a 'makeover'.They notice only when it lands.Have you tried removing their +2s? You can do that by removing them and re-adding them, but there might be a better way.