webkit-patch cannot rollout patches without changelog/bug number
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 20 Jan 2012 00:57:46 +0000 (00:57 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 20 Jan 2012 00:57:46 +0000 (00:57 +0000)
https://bugs.webkit.org/show_bug.cgi?id=75962

Reviewed by Adam Barth.

* Scripts/webkitpy/tool/commands/download.py:
(AbstractRolloutPrepCommand._prepare_state):
* Scripts/webkitpy/tool/commands/download_unittest.py:
(AbstractRolloutPrepCommandTest.test_prepare_state):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105464 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/Scripts/webkitpy/tool/commands/download.py
Tools/Scripts/webkitpy/tool/commands/download_unittest.py

index 6a39382..94b5216 100644 (file)
@@ -1,3 +1,15 @@
+2012-01-19  Eric Seidel  <eric@webkit.org>
+
+        webkit-patch cannot rollout patches without changelog/bug number
+        https://bugs.webkit.org/show_bug.cgi?id=75962
+
+        Reviewed by Adam Barth.
+
+        * Scripts/webkitpy/tool/commands/download.py:
+        (AbstractRolloutPrepCommand._prepare_state):
+        * Scripts/webkitpy/tool/commands/download_unittest.py:
+        (AbstractRolloutPrepCommandTest.test_prepare_state):
+
 2012-01-19  Alexey Proskuryakov  <ap@apple.com>
 
         [WK2] fast/url/degenerate-file-base.html fails
index 2ba4986..82a570a 100644 (file)
@@ -343,18 +343,20 @@ class AbstractRolloutPrepCommand(AbstractSequencedCommand):
 
         # We use the earliest revision for the bug info
         earliest_revision = revision_list[0]
-        commit_info = self._commit_info(earliest_revision)
-        cc_list = sorted([party.bugzilla_email()
-                          for party in commit_info.responsible_parties()
-                          if party.bugzilla_email()])
-        return {
+        state = {
             "revision": earliest_revision,
             "revision_list": revision_list,
-            "bug_id": commit_info.bug_id(),
-            # FIXME: We should used the list as the canonical representation.
-            "bug_cc": ",".join(cc_list),
             "reason": args[1],
         }
+        commit_info = self._commit_info(earliest_revision)
+        if commit_info:
+            state["bug_id"] = commit_info.bug_id()
+            cc_list = sorted([party.bugzilla_email()
+                            for party in commit_info.responsible_parties()
+                            if party.bugzilla_email()])
+            # FIXME: We should used the list as the canonical representation.
+            state["bug_cc"] = ",".join(cc_list)
+        return state
 
 
 class PrepareRollout(AbstractRolloutPrepCommand):
index d5a6faf..4239ecc 100644 (file)
@@ -66,6 +66,11 @@ class AbstractRolloutPrepCommandTest(unittest.TestCase):
         self.assertRaises(ScriptError, command._prepare_state, options=None, args=["125 r122  123", "Reason"], tool=None)
         self.assertRaises(ScriptError, command._prepare_state, options=None, args=["125 foo 123", "Reason"], tool=None)
 
+        command._commit_info = lambda revision: None
+        state = command._prepare_state(None, ["124 123 125", "Reason"], None)
+        self.assertEqual(123, state["revision"])
+        self.assertEqual([123, 124, 125], state["revision_list"])
+
 
 class DownloadCommandsTest(CommandsTest):
     def _default_options(self):