lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Patch scheduling


From: Lukas-Fabian Moser
Subject: Re: Patch scheduling
Date: Mon, 7 Feb 2022 10:07:25 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0

Hi Colin,

forgive me for butting in as someone who has made very few contributions (but followed some of the discussions quite closely over the last few years):

All the above can be overridden by any developer with access, where judgement calls for expediting an MR, or it is clearly trivial. MRs can also be set back in the flow by developers, when issues are found, or after new commits are added. Open discussions are not necessarily a reason to hold back an MR.


If all that is reasonably close to the way things operate, the role of the patch scheduler is pretty mechanical, simply moving MRs into the next bucket. I remember that a Patch Meister was needed in the old days of Reitveldt, Savannah, and whatever other platforms were involved, but it seems that the new, integrated platform, with what seems to be trustworthy automated and sufficiently rigorous testing, has changed the flow significantly. The patch scheduling function, and again, I only describe my outsider's understanding, seems to have become a cron job running in wetware. It would seem more efficient to implement a script which would take the same set of decisions, update labels, and run a modified countdown.py to email the devel list with results and any anomalous conditions,such as open threads, recent commits, and the like.

My impression is that that while your summary of the process seems correct, perhaps you underestimate the considerable worth that comes with the wetware.

First, some of the rules you stated ("can be overridden by any developer", "open discussions are not necessarily a reason to hold back") actually involve judgement calls from all parties involved: For example, the rule that senior developers (you omitted that admittedly fuzzy adjective from the CG) may bypass the normal flow only works as long as it is only ever invoked for non-controversial merges (and to judge non-controversiality needs quite a bit of experience). The rule that open discussions are not a rock-solid obstacle for a MR being merged requires someone - and in my impression, that's something that James did inconspicuously but thoroughly - to judge whether the open discussions are of a nature that should delay the process for the MR in question.

In the case of Dan's merge request https://gitlab.com/lilypond/lilypond/-/merge_requests/1173 that sparked this discussion, I agree with Jean that this was a matter of misunderstanding/miscommunication (starting with the problem that it was not completely obvious just by reading the messages that the issue Dan spotted and created was actually only made visible by his MR, not caused by it).

Also, there are more "soft" factors in play here: For one, the fact that Dan's MR comes from someone who has constantly churned out high-quality code contributions for many years now, who is just not very likely to try and ill-advisedly force a MR through by brute force. Also, there has been both a very high level of activity on GitLab where people like Jean, Werner and others did a marvelous job of reviewing new code (and miraculously leading to only very, very few discussions of the more emotionally heated type), which made it possible to actually regard "silence on a MR" as being quite close to "approval". Again, this is something that is too dependent on factors that might change at some point in the future to allow for it to be turned into a written rule.

So what I'm trying to say is: A task that seems like a trivial cron job 95% of the time may very well require human intelligence, tact and judgement in the remaining 5 %. (And I haven't even mentioned yet the "human factor" that would be sorely missed of the question "Folks, is this ready now or should we keep it on review?" came from a script instead of from you or, formerly, James.)

Lukas



reply via email to

[Prev in Thread] Current Thread [Next in Thread]