WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
28477
WebKit needs a changelogs.py to hold changelog-related code
https://bugs.webkit.org/show_bug.cgi?id=28477
Summary
WebKit needs a changelogs.py to hold changelog-related code
Eric Seidel (no email)
Reported
2009-08-19 17:39:05 PDT
WebKit needs a changelogs.py to hold changelog-related code This is just a first-pass. We really need full-blown changelog parsing. I have several partial implementations of changelog parsing in other scripts, including attached to
bug 26533
. This module is just moving the bugzilla-tool changelog code to a module and making it testable!
Attachments
Patch v1
(17.57 KB, patch)
2009-08-19 17:41 PDT
,
Eric Seidel (no email)
levin
: review-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Eric Seidel (no email)
Comment 1
2009-08-19 17:41:02 PDT
Created
attachment 35167
[details]
Patch v1
Eric Seidel (no email)
Comment 2
2009-08-19 17:49:03 PDT
I think eventually the ChangeLog class will change to be more stateful. Right now it reads the ChangeLog from disk on every command. Eventually we'll probably have explicit read/write commands and keep the ChangeLog in memory in a parsed form. Not sure.
David Levin
Comment 3
2009-08-20 22:36:13 PDT
Comment on
attachment 35167
[details]
Patch v1 A few things to consider..
> diff --git a/WebKitTools/Scripts/modules/changelogs.py
b/WebKitTools/Scripts/modules/changelogs.py
> +# Copyright (c) 2009, Google Inc. All rights reserved.
(C)
> +import fileinput # inplace file editing for set_reviewer_in_changelog > +import re > +
> +# This doesn't really belong in this file, but we don't have a better home
for it yet. FIXME:
> + if ChangeLog.date_line_regexp.match(line): > + return ''.join(entry_lines[0:-1]) # Remove the extra newline
at the end Indexes at the boundary need not be listed, so it could be return ''.join(entry_lines[:-1]) # Remove the extra newline at the end. However, I feel mildly paranoid about the blank line, so why not be slight more robust line this? if not entry_lines[-1].strip(): entry_lines = entry_lines[:-1] return ''.join(entry_lines) # Remove the extra newline at the end.
> + def update_for_revert(self, revision): > + reviewed_by_regexp = re.compile('Reviewed by NOBODY \(OOPS!\)\.') > + removing_boilerplate = False > + # inplace=1 creates a backup file and re-directs stdout to the file > + for line in fileinput.FileInput(self.path, inplace=1): > + if re.search(reviewed_by_regexp, line):
reviewed_by_regexp.search(...
> + print re.sub(reviewed_by_regexp, "No review, rolling out
r%s." % revision, line), reviewed_by_regexp.sub(...
> + print " %s\n" % view_source_url(revision) > + # Remove all the ChangeLog boiler plate between the Reviewed
by line and the first changed file. s/boiler plate/boilerplate/
David Levin
Comment 4
2009-08-20 22:37:38 PDT
Summarizing some lost state (due to bugzilla db corruption): Later Eric submitted another patch to address several of the issues which I then r+'ed (but I didn't find that it was checked in).
Eric Seidel (no email)
Comment 5
2009-08-20 22:44:33 PDT
http://trac.webkit.org/changeset/47603
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug