[petsc-dev] Handling pull requests in a better way

Richard Tran Mills rtmills at anl.gov
Mon Mar 5 20:39:43 CST 2018


Hi Karl,

Since I know this is in many ways a thankless task, let me thank you for 
taking this on!

I'm a bit late to the discussion, but I want to point out one of the 
issues I've encountered with pull requests: Often a pull request is 
submitted with multiple reviewers listed, and it's sometimes not clear 
how many of the reviewers need to look at it. I've spent some time 
looking over pull requests that I'm a reviewer for, and then when things 
look satisfactory, I mark it "approved". But sometimes my expertise only 
pertains to a portion of the pull request, and at least one of the other 
reviewers needs to look at it. Maybe those reviewers, in turn, figure 
they don't need to look because I've already approved it. And sometimes 
a pull request lists multiple reviewers, simply because any single one 
of several people could probably review the request and then merge it. 
In short: I think that one problem we have with pull requests is that 
it's not exactly clear how many people need to bless a particular 
request before approving and merging to next. On any request where Barry 
is also listed as a reviewer, even if I've thoroughly reviewed something 
and approved, I feel most comfortable waiting for Barry's blessing 
before any "integration" happens. But this is not scalable in Barrys. 
What is a better system?

--Richard

On 3/4/18 10:03 PM, Karl Rupp wrote:
> Hi,
>
> since nobody explicitly objected and since nobody volunteered for the 
> PR integrator role, I'll take over this role for the next month or 
> two. Let's evaluate the process then.
>
> Best regards,
> Karli
>
>
> On 03/01/2018 12:33 PM, Karl Rupp wrote:
>> Dear PETSc folks,
>>
>> I think we can do a better job when it comes to handling pull 
>> requests (PRs). We have several PRs piling up, which after some time 
>> (imho) get merged relatively carelessly instead of reaping the full 
>> benefits of a thorough review.
>>
>> In order to improve the integration of pull requests, I propose to 
>> nominate a PR integrator, who is a-priori responsible for *all* 
>> incoming PRs. The PR integrator is free to delegate a particular PR 
>> integration to someone with the relevant domain-specific knowledge 
>> (e.g. Matt for DMPlex-related things) by appropriate comments on 
>> Bitbucket. In case of delays, the PR integrator is also responsible 
>> for issuing reminders over time (like Barry has done in the past).
>>
>> The idea is to make daily progress with the PRs. One integration step 
>> per day (e.g. testing or merging to next) is presumably enough to 
>> handle the load, whereas things get messy if we let things pile up. 
>> Automated testing may help a bit in the future, but it doesn't 
>> release us from properly reviewing the contributed code.
>>
>> Any objections to my PR integrator proposal? Any volunteers? ;-)
>> If nobody else wants to be the highly esteemed PR integrator, I can 
>> do it. ;-)
>>
>> Best regards,
>> Karli



More information about the petsc-dev mailing list