Jun 29, 2012

Interactive Package Review

I've reviewed a couple of dozen packages this week for openSUSE:Factory (Coolo checked some of these into 12.2 as well) in the openSUSE Build Service and Darix showed me a nice way to do the review: interactive review with osc.

Note: This depends on the just released osc version 0.135 (get it from the openSUSE:Tools repository).

So, open up a large terminal window, enter "osc request list -U <your-id> -i" and go through the list. It will show you the submit request and offer you the following options (the letter in (brackets) is the letter to type, e.g. i for diff):
"d(i)ff/(a)ccept/(d)ecline/(r)evoke/(b)uildstatus/c(l)one/(e)dit/(s)kip/(c)ancel"

The important options are:
  • diff: Opens your editor with a diff of the changes
  • accept: Accept the review/request (you can give some commend with "-m comment")
  • decline: Decline the review/request. If you requested the diff before, it will open the diff again in your editor and allow you to easily copy and paste some lines to your decline message which will be added at the top of the diff.
  • revoke: Revoke the request
  • buildstatus: Show whether the package has been build.
  • skip: Ignore the review/request for now, go to the next one.
  • cancel: Stop reviewing.

Some examples:
  •  osc review list -G autobuild-team openSUSE:Factory -i:
    Review interactively all packages  that has an open review for group "autobuild-team" and as target project openSUSE:Factory.
  • osc request list -U a_jaeger -i:
    Review interactively all packages that have an open submit request and that I'm (my user is a_jaeger in the openSUSE Build Service) allowed to approve/decline.
If you're part of a group, you should add to your ~/.oscrc also the option "review_inherit_group = 1 ". This way, it will not ask you for which group you do the review but take the one you used as command line ("-G autobuild-team").