Changeset 56478 in webkit
- Timestamp:
- Mar 24, 2010 8:45:11 PM (14 years ago)
- Location:
- trunk/WebKitTools
- Files:
-
- 1 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKitTools/ChangeLog
r56475 r56478 1 2010-03-24 Adam Barth <abarth@webkit.org> 2 3 Reviewed by Eric Seidel. 4 5 webkit-patch or pre-commit hook should validate reviewer lines before committing 6 https://bugs.webkit.org/show_bug.cgi?id=26927 7 8 Validate that patches have valid reivewers listed in their ChangeLogs 9 before landing. For patches without reviewers can be landed if their 10 ChangeLogs state that they are unreviewed. 11 12 * Scripts/webkitpy/changelogs.py: 13 * Scripts/webkitpy/commands/download.py: 14 * Scripts/webkitpy/commitinfo.py: 15 * Scripts/webkitpy/commitinfo_unittest.py: 16 * Scripts/webkitpy/mock_bugzillatool.py: 17 * Scripts/webkitpy/steps/__init__.py: 18 * Scripts/webkitpy/steps/validatereviewer.py: Added. 19 1 20 2010-03-19 Holger Hans Peter Freyther <zecke@selfish.org> 2 21 -
trunk/WebKitTools/Scripts/webkitpy/changelogs.py
r56475 r56478 35 35 36 36 from webkitpy.webkit_logging import log 37 from webkitpy.committers import CommitterList 37 38 38 39 def view_source_url(revision_number): … … 51 52 date_line_regexp = r'^(?P<date>\d{4}-\d{2}-\d{2})\s+(?P<name>.+?)\s+<(?P<email>[^<>]+)>$' 52 53 53 def __init__(self, contents ):54 def __init__(self, contents, committer_list=CommitterList()): 54 55 self._contents = contents 56 self._committer_list = committer_list 55 57 self._parse_entry() 56 58 … … 67 69 self._reviewer_text = match.group("reviewer") if match else None 68 70 71 self._reviewer = self._committer_list.committer_by_name(self._reviewer_text) 72 self._author = self._committer_list.committer_by_email(self._author_email) or self._committer_list.committer_by_name(self._author_name) 73 69 74 def author_name(self): 70 75 return self._author_name … … 73 78 return self._author_email 74 79 80 def author(self): 81 return self._author # Might be None 82 75 83 # FIXME: Eventually we would like to map reviwer names to reviewer objects. 76 84 # See https://bugs.webkit.org/show_bug.cgi?id=26533 77 85 def reviewer_text(self): 78 86 return self._reviewer_text 87 88 def reviewer(self): 89 return self._reviewer # Might be None 79 90 80 91 def contents(self): -
trunk/WebKitTools/Scripts/webkitpy/commands/download.py
r56151 r56478 75 75 steps.EnsureBuildersAreGreen, 76 76 steps.UpdateChangeLogsWithReviewer, 77 steps.ValidateReviewer, 77 78 steps.EnsureBuildersAreGreen, 78 79 steps.Build, … … 210 211 steps.Update, 211 212 steps.ApplyPatch, 213 steps.ValidateReviewer, 212 214 steps.EnsureBuildersAreGreen, 213 215 steps.Build, -
trunk/WebKitTools/Scripts/webkitpy/commitinfo.py
r56216 r56478 54 54 changelog_entry = changelog_entries[0] 55 55 changelog_data = { 56 "bug_id" : parse_bug_id(changelog_entry.contents()), 57 "author_name" : changelog_entry.author_name(), 58 "author_email" : changelog_entry.author_email(), 59 "reviewer_text" : changelog_entry.reviewer_text(), 56 "bug_id": parse_bug_id(changelog_entry.contents()), 57 "author_name": changelog_entry.author_name(), 58 "author_email": changelog_entry.author_email(), 59 "author": changelog_entry.author(), 60 "reviewer_text": changelog_entry.reviewer_text(), 61 "reviewer": changelog_entry.reviewer(), 60 62 } 61 63 # We could pass the changelog_entry instead of a dictionary here, but that makes … … 70 72 self._author_name = changelog_data["author_name"] 71 73 self._author_email = changelog_data["author_email"] 74 self._author = changelog_data["author"] 72 75 self._reviewer_text = changelog_data["reviewer_text"] 76 self._reviewer = changelog_data["reviewer"] 73 77 74 78 # Derived values: 75 self._reviewer = committer_list.committer_by_name(self._reviewer_text)76 self._author = committer_list.committer_by_email(self._author_email) or committer_list.committer_by_name(self._author_name)77 79 self._committer = committer_list.committer_by_email(committer_email) 78 80 -
trunk/WebKitTools/Scripts/webkitpy/commitinfo_unittest.py
r56216 r56478 33 33 34 34 class CommitInfoTest(unittest.TestCase): 35 35 36 36 def test_commit_info_creation(self): 37 37 author = Committer("Author", "author@example.com") … … 41 41 42 42 changelog_data = { 43 "bug_id" : 1234, 44 "author_name" : "Committer", 45 "author_email" : "author@example.com", 46 "reviewer_text" : "Reviewer", 43 "bug_id": 1234, 44 "author_name": "Committer", 45 "author_email": "author@example.com", 46 "author": author, 47 "reviewer_text": "Reviewer", 48 "reviewer": reviewer, 47 49 } 48 50 commit = CommitInfo(123, "committer@example.com", changelog_data, committer_list) 49 51 50 52 self.assertEqual(commit.revision(), 123) 51 53 self.assertEqual(commit.bug_id(), 1234) -
trunk/WebKitTools/Scripts/webkitpy/mock_bugzillatool.py
r56470 r56478 367 367 class MockWebKitCheckout(object): 368 368 369 _committer_list = CommitterList() 370 369 371 def commit_info_for_revision(self, svn_revision): 370 372 return CommitInfo(svn_revision, "eric@webkit.org", { … … 372 374 "author_name": "Adam Barth", 373 375 "author_email": "abarth@webkit.org", 374 "reviewer_text": "Darin Adler" 376 "author": self._committer_list.committer_by_email("abarth@webkit.org"), 377 "reviewer_text": "Darin Adler", 378 "reviewer": self._committer_list.committer_by_name("Darin Adler"), 375 379 }) 376 380 -
trunk/WebKitTools/Scripts/webkitpy/steps/__init__.py
r56034 r56478 56 56 from webkitpy.steps.updatechangelogswithreviewer import UpdateChangeLogsWithReviewer 57 57 from webkitpy.steps.update import Update 58 from webkitpy.steps.validatereviewer import ValidateReviewer
Note: See TracChangeset
for help on using the changeset viewer.