[webkit-dev] automatic webkit bugzilla bug-posting / management tool

Luke Kenneth Casson Leighton luke.leighton at googlemail.com
Sat Aug 8 11:01:42 PDT 2009


as part of managing 29 patches to webkit i decided to develop a system
which parses the ChangeLog entries and re-creates the patches.  but -
not only that, there's a system for automatic uploading of the patch
attachment, as well:

http://lkcl.net/webkit/patman

it could probably be adapted equally well to work on any bugzilla
system, but the Webkit ChangeLog format makes it particularly
convenient to use.

one of the important things that the patman tool does is re-create the
ChangeLog entry at the _top_ of the relevant ChangeLog file, and also
it updates the date.

then, it goes through looking for the files listed in the ChangeLog,
and splits them out of the svn diff (yes, there's a diff/patch parser
included in the tool)

also, it looks for the first https://bugs.webkit.org entry, parses the
number and then spits out the re-formatted patches in to a file
patches/patch.<bugnumber>.txt

then, if you want to submit the patch as an attachment, run
patman/poemposter.py (yes, that's where the code came from - poem
posting :) with the following arguments:

bugnumber 'bugdescription' [optional review flag - use ? to request review]

the [daftly-named] poemposter.py will search for the file
patches/patch.{bugnumber}.txt and will upload it automatically to
bugs.webkit.org, to the requested bugreport.

you will need to create a file login.txt with:
user: <email address>
pass: <bugzilla password>

as this is a bit of a hack-job, you will need to do "svn diff > f" -
patman/patchsplit.py doesn't accept any arguments yet, it just assumes
that there is a file "f" in the current working directory.

also, the tool must be run from the top-level webkit svn.

but, it should prove to be incredibly useful to those people
submitting bugreports for review, and save a great deal of time.

also, the patch-parsing system on its own might prove to be useful for
the commit queue processing, as it is capable of splitting out the
contents of patches e.g. individual ChangeLog entries.

you can see the process by which the ChangeLog entry is re-created as
a diff (see use of FakeChangeSet) that is always at the top of the
file.

l.


More information about the webkit-dev mailing list