Changeset 52728 in webkit


Ignore:
Timestamp:
Jan 4, 2010 3:37:24 AM (14 years ago)
Author:
eric@webkit.org
Message:

2010-01-04 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Make bugzilla-tool rollout include a bug link in the ChangeLog entry
https://bugs.webkit.org/show_bug.cgi?id=33146

One more step towards better rollouts.

  • Scripts/webkitpy/changelogs.py:
  • Scripts/webkitpy/changelogs_unittest.py:
  • Scripts/webkitpy/steps/preparechangelogforrevert.py:
Location:
trunk/WebKitTools
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKitTools/ChangeLog

    r52726 r52728  
     12010-01-04  Eric Seidel  <eric@webkit.org>
     2
     3        Reviewed by Adam Barth.
     4
     5        Make bugzilla-tool rollout include a bug link in the ChangeLog entry
     6        https://bugs.webkit.org/show_bug.cgi?id=33146
     7
     8        One more step towards better rollouts.
     9
     10        * Scripts/webkitpy/changelogs.py:
     11        * Scripts/webkitpy/changelogs_unittest.py:
     12        * Scripts/webkitpy/steps/preparechangelogforrevert.py:
     13
    1142010-01-04  Adam Barth  <abarth@webkit.org>
    215
  • trunk/WebKitTools/Scripts/webkitpy/changelogs.py

    r47603 r52728  
    7070            changelog_file.close()
    7171
    72     def update_for_revert(self, revision):
     72    def update_for_revert(self, revision, bug_url=None):
    7373        reviewed_by_regexp = re.compile('Reviewed by NOBODY \(OOPS!\)\.')
    7474        removing_boilerplate = False
     
    7777            if reviewed_by_regexp.search(line):
    7878                print reviewed_by_regexp.sub("No review, rolling out r%s." % revision, line),
    79                 print "        %s\n" % view_source_url(revision)
     79                print "        %s" % view_source_url(revision)
     80                if bug_url:
     81                    print "        %s" % bug_url
     82                print # Add an extra new line after the rollout message.
    8083                # Remove all the ChangeLog boilerplate between the Reviewed by line and the first changed file.
    8184                removing_boilerplate = True
  • trunk/WebKitTools/Scripts/webkitpy/changelogs_unittest.py

    r47603 r52728  
    125125        self.assertEquals(actual_contents, expected_contents)
    126126
    127     _expected_revert_entry = '''2009-08-19  Eric Seidel  <eric@webkit.org>
     127    _revert_entry_with_bug_url = '''2009-08-19  Eric Seidel  <eric@webkit.org>
     128
     129        No review, rolling out r12345.
     130        http://trac.webkit.org/changeset/12345
     131        http://example.com/123
     132
     133        * Scripts/bugzilla-tool:
     134'''
     135
     136    _revert_entry_without_bug_url = '''2009-08-19  Eric Seidel  <eric@webkit.org>
    128137
    129138        No review, rolling out r12345.
     
    133142'''
    134143
    135     def test_update_for_revert(self):
     144    def _assert_update_for_revert_output(self, args, expected_entry):
    136145        changelog_contents = "%s\n%s" % (self._new_entry_boilerplate, self._example_changelog)
    137146        changelog_path = self._write_tmp_file_with_contents(changelog_contents)
    138147        changelog = ChangeLog(changelog_path)
    139         changelog.update_for_revert(12345)
     148        changelog.update_for_revert(*args)
    140149        actual_entry = changelog.latest_entry()
    141150        os.remove(changelog_path)
    142         self.assertEquals(actual_entry, self._expected_revert_entry)
     151        self.assertEquals(actual_entry, expected_entry)
     152
     153    def test_update_for_revert(self):
     154        self._assert_update_for_revert_output([12345], self._revert_entry_without_bug_url)
     155        self._assert_update_for_revert_output([12345, "http://example.com/123"], self._revert_entry_with_bug_url)
    143156
    144157if __name__ == '__main__':
  • trunk/WebKitTools/Scripts/webkitpy/steps/preparechangelogforrevert.py

    r52714 r52728  
    4343        # This could move to prepare-ChangeLog by adding a --revert= option.
    4444        self._run_script("prepare-ChangeLog")
     45        bug_url = self._tool.bugs.bug_url_for_bug_id(state["bug_id"]) if state["bug_id"] else None
    4546        for changelog_path in changelog_paths:
    46             ChangeLog(changelog_path).update_for_revert(state["revision"])
     47            ChangeLog(changelog_path).update_for_revert(state["revision"], bug_url)
Note: See TracChangeset for help on using the changeset viewer.