Hi,
currently change owners use various ways to mark changes that are not yet ready for review. Recurring patterns are commit messages beginning with "[WIP]" or "DO NOT MERGE" and/or -1 votes by the change owner. A common problem with these solutions is that they cannot be used in Gerrit searches, for example if someone is looking for open changes to review, they must filter the results manually. This also affects scripts & Co. like the Wikimedia Dashboard at http://korma.wmflabs.org/browser/ that need to use heuristics to determine if a change is a work in progress and thus should be ignored for statistical purposes.
There was a bug (https://phabricator.wikimedia.org/T52842) to implement a "Work in progress" button/status with the underlying goal to prevent dashboards/queues from the added noise of "draft changes"/"[WIP]" changes, but it was declined because a button is not going to be added.
I want to suggest to add a new label "WIP", inspired by OpenStack's "Workflow" label. Its "neutral" value is 0 ("Ready for reviews"). If it is "voted" to -1 ("Work in progress"), the change cannot be submitted. This vote will stick with new uploads until it is changed back to 0.
For searches, this will allow Gerrit users to restrict search results by adding "label:WIP+0" to their filters.
Untested, the change would be something like:
| diff --git a/project.config b/project.config | index 151eebd..93291e1 100644 | --- a/project.config | +++ b/project.config | @@ -12,6 +12,7 @@ | owner = group ldap/ops | label-Code-Review = -2..+2 group Project Owners | label-Code-Review = -1..+1 group Registered Users | + label-WIP = -1..+0 group Registered Users | create = group Project Owners | editTopicName = group Registered Users | viewDrafts = group JenkinsBot | @@ -78,6 +79,11 @@ | value = +2 Looks good to me, approved | copyAllScoresOnTrivialRebase = true | copyAllScoresIfNoCodeChange = true | +[label "WIP"] | + function = AnyWithBlock | + value = -1 Work in progress | + value = 0 Ready for reviews | + copyMinScore = true | [access "refs/meta/dashboards/*"] | create = group Project Owners | create = group platform-engineering
Tim
Hi,
that sounds like really good idea. +1 for all your mentioned reasons! :)
Another use case is the time, a project's reviewers needs to review a change (I remember we have a statistic for it somewhere? But I found only [1]), where WIP changes could be ignored (they usually don't get reviews but count as changes, that aren't reviewed for a long time).
[1] http://korma.wmflabs.org/browser/gerrit_review_queue.html
Best, Florian
-----Original-Nachricht----- Betreff: [Wikitech-l] Add a Gerrit label "WIP" to mark changes as work in progress Datum: Thu, 10 Sep 2015 18:50:08 +0200 Von: Tim Landscheidt tim@tim-landscheidt.de An: wikitech-l@lists.wikimedia.org
Hi,
currently change owners use various ways to mark changes that are not yet ready for review. Recurring patterns are commit messages beginning with "[WIP]" or "DO NOT MERGE" and/or -1 votes by the change owner. A common problem with these solutions is that they cannot be used in Gerrit searches, for example if someone is looking for open changes to review, they must filter the results manually. This also affects scripts & Co. like the Wikimedia Dashboard at http://korma.wmflabs.org/browser/ that need to use heuristics to determine if a change is a work in progress and thus should be ignored for statistical purposes.
There was a bug (https://phabricator.wikimedia.org/T52842) to implement a "Work in progress" button/status with the underlying goal to prevent dashboards/queues from the added noise of "draft changes"/"[WIP]" changes, but it was declined because a button is not going to be added.
I want to suggest to add a new label "WIP", inspired by OpenStack's "Workflow" label. Its "neutral" value is 0 ("Ready for reviews"). If it is "voted" to -1 ("Work in progress"), the change cannot be submitted. This vote will stick with new uploads until it is changed back to 0.
For searches, this will allow Gerrit users to restrict search results by adding "label:WIP+0" to their filters.
Untested, the change would be something like:
| diff --git a/project.config b/project.config | index 151eebd..93291e1 100644 | --- a/project.config | +++ b/project.config | @@ -12,6 +12,7 @@ | owner = group ldap/ops | label-Code-Review = -2..+2 group Project Owners | label-Code-Review = -1..+1 group Registered Users | + label-WIP = -1..+0 group Registered Users | create = group Project Owners | editTopicName = group Registered Users | viewDrafts = group JenkinsBot | @@ -78,6 +79,11 @@ | value = +2 Looks good to me, approved | copyAllScoresOnTrivialRebase = true | copyAllScoresIfNoCodeChange = true | +[label "WIP"] | + function = AnyWithBlock | + value = -1 Work in progress | + value = 0 Ready for reviews | + copyMinScore = true | [access "refs/meta/dashboards/*"] | create = group Project Owners | create = group platform-engineering
Tim
_______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
+1
This will be very useful for the Gerrit cleanup day!
On Fri, 11 Sep 2015 16:23 Florian Schmidt florian.schmidt.welzow@t-online.de wrote:
Hi,
that sounds like really good idea. +1 for all your mentioned reasons! :)
Another use case is the time, a project's reviewers needs to review a change (I remember we have a statistic for it somewhere? But I found only [1]), where WIP changes could be ignored (they usually don't get reviews but count as changes, that aren't reviewed for a long time).
[1] http://korma.wmflabs.org/browser/gerrit_review_queue.html
Best, Florian
-----Original-Nachricht----- Betreff: [Wikitech-l] Add a Gerrit label "WIP" to mark changes as work in progress Datum: Thu, 10 Sep 2015 18:50:08 +0200 Von: Tim Landscheidt tim@tim-landscheidt.de An: wikitech-l@lists.wikimedia.org
Hi,
currently change owners use various ways to mark changes that are not yet ready for review. Recurring patterns are commit messages beginning with "[WIP]" or "DO NOT MERGE" and/or -1 votes by the change owner. A common problem with these solutions is that they cannot be used in Gerrit searches, for example if someone is looking for open changes to review, they must filter the results manually. This also affects scripts & Co. like the Wikimedia Dashboard at http://korma.wmflabs.org/browser/ that need to use heuristics to determine if a change is a work in progress and thus should be ignored for statistical purposes.
There was a bug (https://phabricator.wikimedia.org/T52842) to implement a "Work in progress" button/status with the underlying goal to prevent dashboards/queues from the added noise of "draft changes"/"[WIP]" changes, but it was declined because a button is not going to be added.
I want to suggest to add a new label "WIP", inspired by OpenStack's "Workflow" label. Its "neutral" value is 0 ("Ready for reviews"). If it is "voted" to -1 ("Work in progress"), the change cannot be submitted. This vote will stick with new uploads until it is changed back to 0.
For searches, this will allow Gerrit users to restrict search results by adding "label:WIP+0" to their filters.
Untested, the change would be something like:
| diff --git a/project.config b/project.config | index 151eebd..93291e1 100644 | --- a/project.config | +++ b/project.config | @@ -12,6 +12,7 @@ | owner = group ldap/ops | label-Code-Review = -2..+2 group Project Owners | label-Code-Review = -1..+1 group Registered Users | + label-WIP = -1..+0 group Registered Users | create = group Project Owners | editTopicName = group Registered Users | viewDrafts = group JenkinsBot | @@ -78,6 +79,11 @@ | value = +2 Looks good to me, approved | copyAllScoresOnTrivialRebase = true | copyAllScoresIfNoCodeChange = true | +[label "WIP"] | + function = AnyWithBlock | + value = -1 Work in progress | + value = 0 Ready for reviews | + copyMinScore = true | [access "refs/meta/dashboards/*"] | create = group Project Owners | create = group platform-engineering
Tim
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
For what is worth, currently code review metrics in korma filter out changesets with "WIP" in the commit subject. We are not considering these changesets as waiting for review in these metrics.
The idea of using a Gerrit label is good as long as we find a correspondence to this convention in Differential, so we don't lose it with the migration. However, I would prefer to wait a couple of weeks not to interfere with the Gerrit Cleanup Day and the metrics we are planning to use for it. On Sep 10, 2015 11:23 PM, "Florian Schmidt" < florian.schmidt.welzow@t-online.de> wrote:
Hi,
that sounds like really good idea. +1 for all your mentioned reasons! :)
Another use case is the time, a project's reviewers needs to review a change (I remember we have a statistic for it somewhere? But I found only [1]), where WIP changes could be ignored (they usually don't get reviews but count as changes, that aren't reviewed for a long time).
[1] http://korma.wmflabs.org/browser/gerrit_review_queue.html
Best, Florian
-----Original-Nachricht----- Betreff: [Wikitech-l] Add a Gerrit label "WIP" to mark changes as work in progress Datum: Thu, 10 Sep 2015 18:50:08 +0200 Von: Tim Landscheidt tim@tim-landscheidt.de An: wikitech-l@lists.wikimedia.org
Hi,
currently change owners use various ways to mark changes that are not yet ready for review. Recurring patterns are commit messages beginning with "[WIP]" or "DO NOT MERGE" and/or -1 votes by the change owner. A common problem with these solutions is that they cannot be used in Gerrit searches, for example if someone is looking for open changes to review, they must filter the results manually. This also affects scripts & Co. like the Wikimedia Dashboard at http://korma.wmflabs.org/browser/ that need to use heuristics to determine if a change is a work in progress and thus should be ignored for statistical purposes.
There was a bug (https://phabricator.wikimedia.org/T52842) to implement a "Work in progress" button/status with the underlying goal to prevent dashboards/queues from the added noise of "draft changes"/"[WIP]" changes, but it was declined because a button is not going to be added.
I want to suggest to add a new label "WIP", inspired by OpenStack's "Workflow" label. Its "neutral" value is 0 ("Ready for reviews"). If it is "voted" to -1 ("Work in progress"), the change cannot be submitted. This vote will stick with new uploads until it is changed back to 0.
For searches, this will allow Gerrit users to restrict search results by adding "label:WIP+0" to their filters.
Untested, the change would be something like:
| diff --git a/project.config b/project.config | index 151eebd..93291e1 100644 | --- a/project.config | +++ b/project.config | @@ -12,6 +12,7 @@ | owner = group ldap/ops | label-Code-Review = -2..+2 group Project Owners | label-Code-Review = -1..+1 group Registered Users | + label-WIP = -1..+0 group Registered Users | create = group Project Owners | editTopicName = group Registered Users | viewDrafts = group JenkinsBot | @@ -78,6 +79,11 @@ | value = +2 Looks good to me, approved | copyAllScoresOnTrivialRebase = true | copyAllScoresIfNoCodeChange = true | +[label "WIP"] | + function = AnyWithBlock | + value = -1 Work in progress | + value = 0 Ready for reviews | + copyMinScore = true | [access "refs/meta/dashboards/*"] | create = group Project Owners | create = group platform-engineering
Tim
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
I'd use this tag more often if I could set it from the gerrit command-line when I upload a patch. Otherwise it will be pretty inconvenient to keep this in sync with the summary line of my patch. --scott
"C. Scott Ananian" cananian@wikimedia.org wrote:
I'd use this tag more often if I could set it from the gerrit command-line when I upload a patch. Otherwise it will be pretty inconvenient to keep this in sync with the summary line of my patch.
That should be possible with Gerrit's command line inter- face (cf. https://gerrit-review.googlesource.com/Documentation/cmd-review.html). For example, I just voted on https://gerrit.wikimedia.org/r/#/c/238201/ with:
| ssh -p 29418 gerrit.wikimedia.org gerrit review --label Code-Review=+1 4266a950bf7d0984cc5177b0f2f8d76b7d0b3c55
This /should/ work for arbitrary labels.
Tim
It would be good to formalise this.
On Mon, Sep 14, 2015 at 2:07 PM, Tim Landscheidt tim@tim-landscheidt.de wrote:
"C. Scott Ananian" cananian@wikimedia.org wrote:
I'd use this tag more often if I could set it from the gerrit command-line when I upload a patch. Otherwise it will be pretty inconvenient to keep this in sync with the summary line of my patch.
That should be possible with Gerrit's command line inter- face (cf. https://gerrit-review.googlesource.com/Documentation/cmd-review.html). For example, I just voted on https://gerrit.wikimedia.org/r/#/c/238201/ with:
| ssh -p 29418 gerrit.wikimedia.org gerrit review --label Code-Review=+1 4266a950bf7d0984cc5177b0f2f8d76b7d0b3c55
This /should/ work for arbitrary labels.
Tim
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
wikitech-l@lists.wikimedia.org