[Announce] Work In Progress plugin for Gerrit

834 views
Skip to first unread message

David Ostrovsky

unread,
Oct 9, 2013, 1:25:46 PM10/9/13
to repo-d...@googlegroups.com
I am pleased to announce the availability of Work In Progress (WIP) plugin for Gerrit [1].
This plugin is based on previous work of David Shrewsbury [2].

It adds a new button that allows an authorized user to set a change to "Work In Progress",
and a button to change from WIP back to a "Review In Progress" state. Any change in the
WIP state will not show up in anyone's Review Requests. Pushing a new patchset will reset
the change to "Review In Progress".

Besides the UI, the WIP state can be toggled by SSH commands or per REST endpoints.

WIP workflow can be used in combination with new "Change Owners" group. The plugin owned
capability "Work In Progress" can be granted to that group, so that only "Change Owners" can
toggle the WIP state.

Note: While the plugin is optimized for the new change screen, old change screen is supported.
See known limitations section in README for details.

Doug Kelly

unread,
Oct 9, 2013, 2:02:51 PM10/9/13
to repo-d...@googlegroups.com
On Wednesday, October 9, 2013 12:25:46 PM UTC-5, David Ostrovsky wrote:
I am pleased to announce the availability of Work In Progress (WIP) plugin for Gerrit [1].
This plugin is based on previous work of David Shrewsbury [2].

It adds a new button that allows an authorized user to set a change to "Work In Progress",
and a button to change from WIP back to a "Review In Progress" state. Any change in the
WIP state will not show up in anyone's Review Requests. Pushing a new patchset will reset
the change to "Review In Progress".

Cool idea, but I'm curious--how does this differ from the draft feature, other than you can toggle
a patch between WIP and review multiple times?

--Doug

Monty Taylor

unread,
Oct 9, 2013, 2:55:02 PM10/9/13
to repo-d...@googlegroups.com

Toggling between WIP and review multiple times is a key feature of the workflow. We've been using a non-plugin version of this in the OpenStack gerrit for over a year now, and it's really helpful in a few ways:

- when a reviewer indicates some feedback that needs to be handled, the patch owner can mark it WIP to indicate that they're working on that, and flip it back once they'd like someone to review it again
- we have a dashboard which shows patches that someone should review which filters out WIP patches. This allows people to not be bothered by the WIP patches in their (for us, sometimes insanely large amount of) patches to review.
- unlike Drafts, it's not hidden, people can still vote on it - this lets it be a communication mechanism

It's been really useful, and I'm super thrilled that David has turned it into a plugin. Not having had our patch implementing this in gerrit has kept us on 2.4 - and we'd really like to upgrade.

David Ostrovsky

unread,
Oct 11, 2013, 5:19:11 AM10/11/13
to repo-d...@googlegroups.com, repo-discuss
It is not related to DRAFT change/patch set at all. This is something completely different:

You submit a normal (a non draft) patch and you get a negative review from number of reviewers.
You recognize that to fix that you need some time. How you handle it currently in Gerrit?

You want to communicate that you are working on that, it shouldn't be reviewed again. And it should
disappear from reviewer's dashboard.

That problem was solved in the original David's [1] change in Gerrit core. With recent work on
Gerrit's Plugin API that magic is now doable as a plugin [2]:

* Plugin owned capabilities & plugin can provide their own name
* Automagically check for capabilities in UiActions, REST endpoints and SSH commands handling code
* UiCommands (old change screen)
* UiActions (new change screen)
* JavaScript API to extend the UI button placed from a plugin with a popup dialog and client side JavaScript logic


Gary Burchett

unread,
Jul 14, 2014, 11:27:41 AM7/14/14
to repo-d...@googlegroups.com
We use the Work in Progress plugin (wip) with a later version of gerrit than what the code at https://github.com/davido/gerrit-wip-plugin targeted. This required remediation of the patch set provided and a rebuild of gerrit for the wip plugin. I now see wip plugin code at  https://gerrit.googlesource.com/plugins/wip/.
What is the status of this code? 

This code has had more recent change than the code on githup. Also this code does not have the patches for the gerrit sources. Are they needed with this version? I do not see code changes in gerrit that were previously applied by the patch.  I see someone has added a BUCK file, which is in line with how other plugins are built (yeah!). Currently there are no install instructions with the code in this location. We are hoping to see the wip plugin fully integrated with gerrit so that we do not have to update gerrit sources and build both gerrit and the wip plugin. 

Any update on status would be appreciated. Thank you.

David Ostrovsky

unread,
Jul 14, 2014, 12:46:55 PM7/14/14
to repo-d...@googlegroups.com
GH is outdated. Please use gerrit-review version. Upcoming 2.9 release
hass all patches needed for WIP plugin.

Unfortunately we still have one restriction: To use WIP plugin DARFT
feature must be deactivated.  That's because we cannot agree on adding
new value to change State enum, so the plugin (ab)-uses existing DRAFT
state.

Gary Burchett

unread,
Jul 16, 2014, 3:28:12 PM7/16/14
to repo-d...@googlegroups.com
I appreciate the better integration with gerrit. Having to disable DRAFT usage could become an issue. I had the opportunity to look at the gerrit server code changes the earlier version of the WIP plugin required when I needed to fix the patch to work against a newer version of gerrit. I thought the code changes to support wip looked very clean. It would seem appropriate in my view that these be integrated into gerrit so that both wip and DRAFT will work.. 

David Ostrovsky

unread,
Jul 16, 2014, 4:08:58 PM7/16/14
to repo-d...@googlegroups.com

Am Mittwoch, 16. Juli 2014 21:28:12 UTC+2 schrieb Gary Burchett:
I appreciate the better integration with gerrit. Having to disable DRAFT usage could become an issue. I had the opportunity to look at the gerrit server code changes the earlier version of the WIP plugin required when I needed to fix the patch to work against a newer version of gerrit. I thought the code changes to support wip looked very clean. It would seem appropriate in my view that these be integrated into gerrit so that both wip and DRAFT will work.

Dave Borowitz

unread,
Jul 16, 2014, 7:58:32 PM7/16/14
to Gary Burchett, repo-discuss
On Wed, Jul 16, 2014 at 12:28 PM, Gary Burchett <gary.b...@sas.com> wrote:
I appreciate the better integration with gerrit. Having to disable DRAFT usage could become an issue.

Depends what you use drafts for.

If you use them to say to yourself, "this is not ready for review," and to keep them out of other people's dashboards (other than explicitly added reviewers), then the WIP workflow is a replacement for that usage of drafts.

If you use them to restrict visibility of changes to certain sets of users, the WIP workflow is not that.

IMHO (and I've said this in person at various hackathons but perhaps never on email) we should change what we call "drafts" today to instead be "visible only to reviewers." Then it's clearer that they're orthogonal features. (This would of course also involve making sure the implementations are such that they can live side by side.)
 
I had the opportunity to look at the gerrit server code changes the earlier version of the WIP plugin required when I needed to fix the patch to work against a newer version of gerrit. I thought the code changes to support wip looked very clean. It would seem appropriate in my view that these be integrated into gerrit so that both wip and DRAFT will work.. 

--
--
To unsubscribe, email repo-discuss...@googlegroups.com
More info at http://groups.google.com/group/repo-discuss?hl=en

---
You received this message because you are subscribed to the Google Groups "Repo and Gerrit Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to repo-discuss...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages