[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
bot).

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
https://wiki.webkit.org/wiki/WatchList


 How to use the watch list

 <https://wiki.webkit.org/wiki/WatchList#Howtousethewatchlist>

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).

Details

 <https://wiki.webkit.org/wiki/WatchList#Details>

The watchlist file is here:
http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/watchlist<http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/watchlist>

Here’s an example version:


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

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

Definitions section

 <https://wiki.webkit.org/wiki/WatchList#Definitionssection>

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

 <https://wiki.webkit.org/wiki/WatchList#CCrules>

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

 <https://wiki.webkit.org/wiki/WatchList#Messagerules>

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

Trying out your change

 <https://wiki.webkit.org/wiki/WatchList#Tryingoutyourchange>

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

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

Check your change for mistakes

 <https://wiki.webkit.org/wiki/WatchList#Checkyourchangeformistakes>

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:

<https://wiki.webkit.org/wiki/WatchList#Appendix:Detailsabouttheregexusedintheexample:>

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:
http://docs.python.org/library/re.html<http://docs.python.org/library/re.html>

Best wishes,
dave
-------------- 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