| OLD | NEW | 
|    1 #!/usr/bin/env python |    1 #!/usr/bin/env python | 
|    2 # Copyright 2013 the V8 project authors. All rights reserved. |    2 # Copyright 2013 the V8 project authors. All rights reserved. | 
|    3 # Redistribution and use in source and binary forms, with or without |    3 # Redistribution and use in source and binary forms, with or without | 
|    4 # modification, are permitted provided that the following conditions are |    4 # modification, are permitted provided that the following conditions are | 
|    5 # met: |    5 # met: | 
|    6 # |    6 # | 
|    7 #     * Redistributions of source code must retain the above copyright |    7 #     * Redistributions of source code must retain the above copyright | 
|    8 #       notice, this list of conditions and the following disclaimer. |    8 #       notice, this list of conditions and the following disclaimer. | 
|    9 #     * Redistributions in binary form must reproduce the above |    9 #     * Redistributions in binary form must reproduce the above | 
|   10 #       copyright notice, this list of conditions and the following |   10 #       copyright notice, this list of conditions and the following | 
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   45   DOT_GIT_LOCATION: ".git", |   45   DOT_GIT_LOCATION: ".git", | 
|   46   VERSION_FILE: "src/version.cc", |   46   VERSION_FILE: "src/version.cc", | 
|   47   CHANGELOG_FILE: "ChangeLog", |   47   CHANGELOG_FILE: "ChangeLog", | 
|   48   CHANGELOG_ENTRY_FILE: "/tmp/v8-push-to-trunk-tempfile-changelog-entry", |   48   CHANGELOG_ENTRY_FILE: "/tmp/v8-push-to-trunk-tempfile-changelog-entry", | 
|   49   PATCH_FILE: "/tmp/v8-push-to-trunk-tempfile-patch-file", |   49   PATCH_FILE: "/tmp/v8-push-to-trunk-tempfile-patch-file", | 
|   50   COMMITMSG_FILE: "/tmp/v8-push-to-trunk-tempfile-commitmsg", |   50   COMMITMSG_FILE: "/tmp/v8-push-to-trunk-tempfile-commitmsg", | 
|   51   DEPS_FILE: "DEPS", |   51   DEPS_FILE: "DEPS", | 
|   52 } |   52 } | 
|   53  |   53  | 
|   54  |   54  | 
 |   55 class PushToTrunkOptions(CommonOptions): | 
 |   56   def __init__(self, options): | 
 |   57     super(PushToTrunkOptions, self).__init__(options, options.m) | 
 |   58     self.requires_editor = not options.f | 
 |   59     self.wait_for_lgtm = not options.f | 
 |   60     self.tbr_commit = not options.m | 
 |   61     self.l = options.l | 
 |   62     self.r = options.r | 
 |   63     self.c = options.c | 
 |   64  | 
|   55 class Preparation(Step): |   65 class Preparation(Step): | 
|   56   MESSAGE = "Preparation." |   66   MESSAGE = "Preparation." | 
|   57  |   67  | 
|   58   def RunStep(self): |   68   def RunStep(self): | 
|   59     self.InitialEnvironmentChecks() |   69     self.InitialEnvironmentChecks() | 
|   60     self.CommonPrepare() |   70     self.CommonPrepare() | 
|   61     self.PrepareBranch() |   71     self.PrepareBranch() | 
|   62     self.DeleteBranch(self.Config(TRUNKBRANCH)) |   72     self.DeleteBranch(self.Config(TRUNKBRANCH)) | 
|   63  |   73  | 
|   64  |   74  | 
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  207   def RunStep(self): |  217   def RunStep(self): | 
|  208     self.RestoreVersionIfUnset("new_") |  218     self.RestoreVersionIfUnset("new_") | 
|  209     prep_commit_msg = ("Prepare push to trunk.  " |  219     prep_commit_msg = ("Prepare push to trunk.  " | 
|  210         "Now working on version %s.%s.%s." % (self._state["new_major"], |  220         "Now working on version %s.%s.%s." % (self._state["new_major"], | 
|  211                                               self._state["new_minor"], |  221                                               self._state["new_minor"], | 
|  212                                               self._state["new_build"])) |  222                                               self._state["new_build"])) | 
|  213     self.Persist("prep_commit_msg", prep_commit_msg) |  223     self.Persist("prep_commit_msg", prep_commit_msg) | 
|  214  |  224  | 
|  215     # Include optional TBR only in the git command. The persisted commit |  225     # Include optional TBR only in the git command. The persisted commit | 
|  216     # message is used for finding the commit again later. |  226     # message is used for finding the commit again later. | 
|  217     review = "\n\nTBR=%s" % self._options.r if not self.IsManual() else "" |  227     review = "\n\nTBR=%s" % self._options.r if self._options.tbr_commit else "" | 
|  218     if self.Git("commit -a -m \"%s%s\"" % (prep_commit_msg, review)) is None: |  228     if self.Git("commit -a -m \"%s%s\"" % (prep_commit_msg, review)) is None: | 
|  219       self.Die("'git commit -a' failed.") |  229       self.Die("'git commit -a' failed.") | 
|  220  |  230  | 
|  221  |  231  | 
|  222 class CommitRepository(Step): |  232 class CommitRepository(Step): | 
|  223   MESSAGE = "Commit to the repository." |  233   MESSAGE = "Commit to the repository." | 
|  224  |  234  | 
|  225   def RunStep(self): |  235   def RunStep(self): | 
|  226     self.WaitForLGTM() |  236     self.WaitForLGTM() | 
|  227     # Re-read the ChangeLog entry (to pick up possible changes). |  237     # Re-read the ChangeLog entry (to pick up possible changes). | 
| (...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  434     deps = FileToText(self.Config(DEPS_FILE)) |  444     deps = FileToText(self.Config(DEPS_FILE)) | 
|  435     deps = re.sub("(?<=\"v8_revision\": \")([0-9]+)(?=\")", |  445     deps = re.sub("(?<=\"v8_revision\": \")([0-9]+)(?=\")", | 
|  436                   self._state["trunk_revision"], |  446                   self._state["trunk_revision"], | 
|  437                   deps) |  447                   deps) | 
|  438     TextToFile(deps, self.Config(DEPS_FILE)) |  448     TextToFile(deps, self.Config(DEPS_FILE)) | 
|  439  |  449  | 
|  440     self.RestoreVersionIfUnset() |  450     self.RestoreVersionIfUnset() | 
|  441     ver = "%s.%s.%s" % (self._state["major"], |  451     ver = "%s.%s.%s" % (self._state["major"], | 
|  442                         self._state["minor"], |  452                         self._state["minor"], | 
|  443                         self._state["build"]) |  453                         self._state["build"]) | 
|  444     if self._options and self._options.r: |  454     if self._options.r: | 
|  445       print "Using account %s for review." % self._options.r |  455       print "Using account %s for review." % self._options.r | 
|  446       rev = self._options.r |  456       rev = self._options.r | 
|  447     else: |  457     else: | 
|  448       print "Please enter the email address of a reviewer for the roll CL: ", |  458       print "Please enter the email address of a reviewer for the roll CL: ", | 
|  449       self.DieNoManualMode("A reviewer must be specified in forced mode.") |  459       self.DieNoManualMode("A reviewer must be specified in forced mode.") | 
|  450       rev = self.ReadLine() |  460       rev = self.ReadLine() | 
|  451     args = "commit -am \"Update V8 to version %s.\n\nTBR=%s\"" % (ver, rev) |  461     args = "commit -am \"Update V8 to version %s.\n\nTBR=%s\"" % (ver, rev) | 
|  452     if self.Git(args) is None: |  462     if self.Git(args) is None: | 
|  453       self.Die("'git commit' failed.") |  463       self.Die("'git commit' failed.") | 
|  454     force_flag = " -f" if not self.IsManual() else "" |  464     force_flag = " -f" if self._options.force_upload else "" | 
|  455     if self.Git("cl upload --send-mail%s" % force_flag, pipe=False) is None: |  465     if self.Git("cl upload --send-mail%s" % force_flag, pipe=False) is None: | 
|  456       self.Die("'git cl upload' failed, please try again.") |  466       self.Die("'git cl upload' failed, please try again.") | 
|  457     print "CL uploaded." |  467     print "CL uploaded." | 
|  458  |  468  | 
|  459  |  469  | 
|  460 class SwitchV8(Step): |  470 class SwitchV8(Step): | 
|  461   MESSAGE = "Returning to V8 checkout." |  471   MESSAGE = "Returning to V8 checkout." | 
|  462   REQUIRES = "chrome_path" |  472   REQUIRES = "chrome_path" | 
|  463  |  473  | 
|  464   def RunStep(self): |  474   def RunStep(self): | 
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  562     return False |  572     return False | 
|  563   return True |  573   return True | 
|  564  |  574  | 
|  565  |  575  | 
|  566 def Main(): |  576 def Main(): | 
|  567   parser = BuildOptions() |  577   parser = BuildOptions() | 
|  568   (options, args) = parser.parse_args() |  578   (options, args) = parser.parse_args() | 
|  569   if not ProcessOptions(options): |  579   if not ProcessOptions(options): | 
|  570     parser.print_help() |  580     parser.print_help() | 
|  571     return 1 |  581     return 1 | 
|  572   RunPushToTrunk(CONFIG, options) |  582   RunPushToTrunk(CONFIG, PushToTrunkOptions(options)) | 
|  573  |  583  | 
|  574 if __name__ == "__main__": |  584 if __name__ == "__main__": | 
|  575   sys.exit(Main()) |  585   sys.exit(Main()) | 
| OLD | NEW |