This is a spin-off from https://bugs.webkit.org/show_bug.cgi?id=71957. It seems useful.
Created attachment 114406 [details] Initial implementation
Created attachment 114408 [details] Add an change log entry
Comment on attachment 114406 [details] Initial implementation View in context: https://bugs.webkit.org/attachment.cgi?id=114406&action=review Free functions are bad-news bears. Eventually you'll want those on an object so they can be tested and mocked. Why not make this a webkit-patch Command? > Tools/Scripts/list-contributors-for-file:73 > + dir = os.path.dirname(changelog_path) Sad times. Without a FilesSystem object it's very hard to test this sort of function.
Comment on attachment 114408 [details] Add an change log entry Testing. :( I would recommend makign this a Command subclass and adding it to webkit-patch instead. We can make it a separate script too if you'd like, but building on the webkitpy infrastructure will make this much easier for you.
(In reply to comment #4) > (From update of attachment 114408 [details]) > Testing. :( I would recommend makign this a Command subclass and adding it to webkit-patch instead. We can make it a separate script too if you'd like, but building on the webkitpy infrastructure will make this much easier for you. Oops, I didn't mean to set r? flag for this one yet. I mainly developed this as a tool to diagnose ChangeLogEntry class. It has been super useful!
Created attachment 115723 [details] updated to work on ToT
The latest version supports different modes of operations per command line flag. e.g. --parse-reviewer-names will list all reviewer names that are "invalid" as follows (0:5 means take the first 5 change logs): list-contributors-for-file Source/WebCore/ --parse-reviewer-names 0:5 Parsing /Volumes/Data/webkit4/Source/WebCore/ChangeLog... Geoff Garen (11) matched with ['"Geoffrey Garen" <ggaren@apple.com>'] (3) Kenneth Christiansen (20) matched with ['"Kenneth Rohde Christiansen" <kenneth@webkit.org>'] (6) Geoff Garen (11) matched with ['"Geoffrey Garen" <ggaren@apple.com>'] (3) Dave Hyatt (10) matched with ['"David Hyatt" <hyatt@apple.com>'] (2) Dave Hyatt (10) matched with ['"David Hyatt" <hyatt@apple.com>'] (2) Parsing /Volumes/Data/webkit4/Source/WebCore/ChangeLog-2011-10-19... Nikolas Zimmerman (17) matched with ['"Nikolas Zimmermann" <zimmermann@kde.org>'] (1) Dave Kilzer (11) matched with ['"David Kilzer" <ddkilzer@webkit.org>'] (2) Dave Hyatt (10) matched with ['"David Hyatt" <hyatt@apple.com>'] (2) Dave Hyatt (10) matched with ['"David Hyatt" <hyatt@apple.com>'] (2) Dave Hyatt (10) matched with ['"David Hyatt" <hyatt@apple.com>'] (2) Dave Hyatt (10) matched with ['"David Hyatt" <hyatt@apple.com>'] (2) Dave Hyatt (10) matched with ['"David Hyatt" <hyatt@apple.com>'] (2) Dave Hyatt (10) matched with ['"David Hyatt" <hyatt@apple.com>'] (2) Dave Hyatt (10) matched with ['"David Hyatt" <hyatt@apple.com>'] (2) Dave Hyatt (10) matched with ['"David Hyatt" <hyatt@apple.com>'] (2) Dave Hyatt (10) matched with ['"David Hyatt" <hyatt@apple.com>'] (2)