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. _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev