lilypond-devel
[Top][All Lists]
Advanced

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

Re: GOP-PROP 13: patch management tools


From: Colin Campbell
Subject: Re: GOP-PROP 13: patch management tools
Date: Mon, 19 Sep 2011 20:03:20 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.21) Gecko/20110831 Lightning/1.0b2 Thunderbird/3.1.13

On 11-09-19 06:25 PM, Graham Percival wrote:
On Tue, Sep 20, 2011 at 02:08:42AM +0200, Reinhold Kainhofer wrote:
Am Tuesday, 20. September 2011, 01:09:20 schrieb Graham Percival:
** Different patch and issue managment tools
     * 1-3 hours: write a script that checks that every Patch-new
       can apply to master, compiles correctly, and creates a
       regtest comparison so the local human can check it and make
       it Patch-review instead. If there’s a problem before the
       regtest comparison, the script automatically changes it to
       Patch-needs_work.
The problem is that if someone pushes a broken commit, it will cause all
patches to Patch-needs_work, even if the patch is not to blame...
That's why the script would/should check that master compiles,
before trying any of the patches.  Naturally, if master fails, it
sends a panic email to lilypond-devel.  That email would include a
list of all people who pushed to master since the last commit
which is known to compile.

Whatever happens with the patch tools, I'm imagining a "does
master compile" script running at least once every 24 hours.

     * 1-5 hours: automatically switch any Patch-review to
       Patch-needs_work if there are any non-LGTM comments.
If one of my comments does not contain "LGTM", that does NOT mean that I have
objections. Rather, I might be giving some input and ideas, or have a
question, but I just don't feel qualified enough to give the go. If I object
to a patch, I clearly state it. Absense of LGTM does definitely NOT mean my
objection.
That's a question of how much intelligence+time we want to put
into this script... and of course the behaviour of any of these
scripts can (and should!) be overridden by the Patch Meister (or
any developer, really) at the first sign of trouble.

Even if we have a completely stupid "LGTM or bust" patch, the
Patch Meister just weighs:
- examine all patches from the countdown, then mark them
   Patch-needs_work or Patch-push?
- examine all patches marked Patch-needs_work from a script, and
   check that it's valid
- examine nothing until a programmer complains about a false
   Patch-needs_work.

I think a false negative would happen about 10% of the time.  Is
it worth it?  maybe yes, maybe not... hey, we could even throw
some Bayesian machine learning into the process!  :)




As the Patch Meister in question, it would be nice to have a guaranteed link between the tracker and Rietveld, such that every patch on Rietveld has a corresponding tracker number. ATM, it is pretty much impossible to find a list of lilypond=-related patches on Rietveld without doing a search on each developer's login, where they are known to the Patch Meister. Given the one-to-one link, we're looking in a single, well-understood place, and finding everything related to issues (bugs and enhancements) with associated patches (bug fixes and proposed enhancements).

My python is diplomatically described as rudimentary, but Graham's suggestions sound like the way to go, IMHO.

Cheers,
Colin

--
I've learned that you shouldn't go through life with a catcher's mitt on both 
hands.
You need to be able to throw something back.
-Maya Angelou, poet (1928- )




reply via email to

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