[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