Patchwork (was Re: Governance revisited)

Jeremy White jwhite at winehq.org
Tue Sep 26 07:55:10 CDT 2006


Troy Rollo wrote:
> As I speculated, the reason the PPC64 Patchwork example was so out of date was 
> that the PPC64 list had been folded into the vanilla PPC list, however the 
> big problem right now is that Patchwork is "extra work" for maintainers, so 
> right now they don't want to use it.

Ouch.  This is what I fear.

> Jeremy - do you have any documentation for this from the last time you looked 
> at implementing patch managemen, and if so is it up to date for Git?

Well, despite my doubts of the usefulness of this, I remain quite
interested in trying to improve the process.

I should warn you, though, I'm famous within CodeWeavers for having
'Clever Ideas That No One Uses' (TM).  I fear that a
patch tracker is just one such.

But here is a private thread between myself and Alexandre, in which
I noodled on a possible approach, and in which Alexandre shot me
down <grin>.

-------------------

Okay, so here's is my next Clever Idea That Isn't Used (CITIU):

  Assumptions:

    1.  We can write a utility that lets us compare a winehq commit
        message to a wine-patches email and see if there is a 'match'.
        100% isn't required, but some nice non zero number is.

        A key requirement is that there are near zero false hits.


    2.  We can write a utility that lets us look at an email
        on wine-devel and see if it is a reply to a patch on wine-patches.

        Again, the assumption is that 100% match isn't needed.  For this one,
        though, we should be able to do much better (as we'll have a message id usually).

        We also can tolerate very few false hits here as well.


  Tasklist:

    1.  Build a process that receives email from wine-patches, wine-devel,
        and wine-cvs.  Each new email to wine-patches goes into a database.

    2.  Each email from wine-cvs looks for a patch in the db, and deletes
        a matching patch.  (Or perhaps sets status to 'committed').

    3.  Each email from wine-devel looks for a matching patch in the db,
        and if there is a hit in the db, we delete it as well.
        (Or perhaps set status to 'replied').

    4.  We write a web page that displays all patches in the db, with
        some nice filters.  It has a button to allow someone to change a
        patch status (that way, we can clean up for the cases where a human
        being can see that there was a match, but the process couldn't).


  Hoped for Result:

    1.  You do nothing new.

    2.  Other wine-hackers can see what patches are apparently headed
        through cracks, and get a chance to jump on them.

    3.  People who submitted a patch have a page to see the status,
        and get a clue as to what might have happened to it.


  Possible futures:

    1.  We could give you a 'urk!' button somewhere that
        would actively flag a patch as something you'd appreciate
        someone else think about; that could raise them up.

        If we do this as a daemon, we could probably even do it
        trivially as a reply-to patch-daemon at winehq.org right out
        of emacs.

        (We can get even fancier here; the sky is the limit,
        but I fear too much cleverness).


  Issues I see:

    1.  Yet Another Clever But Unused Idea

    2.  Private emails are unaccounted for.  Are they a major factor?

    3.  Haven't proven our assumptions yet


-----------------

To the private email issues, Alexandre replied:

There are a fair number of such cases, yes. Not so much the bad
patches but the corrupted/mangled/doesn't apply patches; I don't want
to fill wine-devel with "this patch is corrupted please resend". And I
know other people often reply in private too, for instance when
someone forgot the attachment.

Also there are a lot of cases where a patch won't get committed but
shouldn't be in the list, people often supersede their own patches, or
two people fix the same thing in two different ways, etc.  So I feel
it would require active monitoring to keep the list somewhat up to
date, and I don't know that there would be people willing to do that
in the long run.

----------------

I guess it's the latter point that is key.  We can automate
some of this, but in the end, some human monitoring will be
required.

Being a foolish optimist, I don't see any harm in trying, particularly
if we focus on benefit #1 (Alexandre doesn't have to do anything :-/).

But I should point out I'm not rushing to volunteer to write
the daemon or revise Patchwork or actually do any useful work...

Cheers,

Jeremy



More information about the wine-devel mailing list