[webkit-dev] watchlist: A tool to alert you about patches of interest.

David Levin levin at chromium.org
Wed Oct 19 15:40:14 PDT 2011

The watchlist is a simple way to watch for new patches that interest you. The
watchlist is automatically applied to patches by a bot (currently the style

I'm happy to answer questions about it here or in irc (and/or review any
patches you make to the config file, but of course I don't mind others
reviewing those patches or answering questions either).

Here the details on how to use it from

 How to use the watch list


You’ll need to create a definition which matches patches that you are
interested in or find one that already exists. You’ll need to add a rule to
cc yourself on the bug (or add a message to the bug).



The watchlist file is here:

Here’s an example version:

        "ThreadingFiles": {
            "filename": r"Source/JavaScriptCore/wtf/ThreadSpecific\."

        "ThreadingUsage": {
            "more": r"(CrossThreadCopier|CrossThreadRefCounted)(?!\.(h|cpp))",
    "CC_RULES": {
        "ThreadingFiles|ThreadingUsage": [ "levin+threading at chromium.org", ],
        "ThreadingUsage": [ "Are you sure you want to using threading?!?", ],

Definitions section


The definitions section is where you define what you want to look for. If it
is a filename pattern, use “filename”. Filename matches are a prefix match.

If is a code pattern use “more” or “less”, if you want to know if more or
less of instances in that pattern occur. (more use the regex to find a match
modified lines in a patch. Then it searches the to see if more instances of
that exact text occur on a per file basis.)

A definition is said to match if all of its clauses are true for any file in
a patch. If you could look for more instances of a pattern occurring only
within a group of a files by using both “filename” and “more” together.

CC rules


The cc rules section is where you list who should be added when a definition
matches. You can or together definitions but I only recommend doing this
when the definitions are highly related.

Message rules


The message rules is where you list any messages that should be added to a
bug when a definition matches.

Trying out your change


Do a change locally that should trigger your rule and run: webkit-patch

It should tell you who would be cc’ed and any messages that would be added
to the bug.

Check your change for mistakes


Mistakes will slow things down or mess up your change. Run
check-webkit-style on your patch to catch many of these errors.

Appendix: Details about the regex used in the example:


One twist in the “more” match is the ?!\.(h|cpp)). This prevents matching
mentions of CrossThreadRefCounted.h due to includes, build files, etc. which
I don’t care about.

The r is a python thing which means that the \ in the string don’t escape
characters (r”\n” is r“\” +”n”) which is handy when you need the \ to escape
regex characters.

Python’s regex format is documented here:

Best wishes,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20111019/c4b1f8ec/attachment.html>

More information about the webkit-dev mailing list