| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2014 the V8 project authors. All rights reserved. | 2 # Copyright 2014 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 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 self.Die("Cannot determine git hash for r%s" % revision) | 127 self.Die("Cannot determine git hash for r%s" % revision) |
| 128 self["patch_commit_hashes"].append(next_hash) | 128 self["patch_commit_hashes"].append(next_hash) |
| 129 | 129 |
| 130 # Stringify: [123, 234] -> "r123, r234" | 130 # Stringify: [123, 234] -> "r123, r234" |
| 131 self["revision_list"] = ", ".join(map(lambda s: "r%s" % s, | 131 self["revision_list"] = ", ".join(map(lambda s: "r%s" % s, |
| 132 self["full_revision_list"])) | 132 self["full_revision_list"])) |
| 133 | 133 |
| 134 if not self["revision_list"]: # pragma: no cover | 134 if not self["revision_list"]: # pragma: no cover |
| 135 self.Die("Revision list is empty.") | 135 self.Die("Revision list is empty.") |
| 136 | 136 |
| 137 if self._options.revert: | 137 # The commit message title is added below after the version is specified. |
| 138 if not self._options.revert_bleeding_edge: | 138 self["new_commit_msg"] = "" |
| 139 self["new_commit_msg"] = ("Rollback of %s in %s branch." | |
| 140 % (self["revision_list"], self["merge_to_branch"])) | |
| 141 else: | |
| 142 self["new_commit_msg"] = "Revert %s." % self["revision_list"] | |
| 143 else: | |
| 144 self["new_commit_msg"] = ("Merged %s into %s branch." | |
| 145 % (self["revision_list"], self["merge_to_branch"])) | |
| 146 self["new_commit_msg"] += "\n\n" | |
| 147 | 139 |
| 148 for commit_hash in self["patch_commit_hashes"]: | 140 for commit_hash in self["patch_commit_hashes"]: |
| 149 patch_merge_desc = self.GitLog(n=1, format="%s", git_hash=commit_hash) | 141 patch_merge_desc = self.GitLog(n=1, format="%s", git_hash=commit_hash) |
| 150 self["new_commit_msg"] += "%s\n\n" % patch_merge_desc | 142 self["new_commit_msg"] += "%s\n\n" % patch_merge_desc |
| 151 | 143 |
| 152 bugs = [] | 144 bugs = [] |
| 153 for commit_hash in self["patch_commit_hashes"]: | 145 for commit_hash in self["patch_commit_hashes"]: |
| 154 msg = self.GitLog(n=1, git_hash=commit_hash) | 146 msg = self.GitLog(n=1, git_hash=commit_hash) |
| 155 for bug in re.findall(r"^[ \t]*BUG[ \t]*=[ \t]*(.*?)[ \t]*$", msg, | 147 for bug in re.findall(r"^[ \t]*BUG[ \t]*=[ \t]*(.*?)[ \t]*$", msg, |
| 156 re.M): | 148 re.M): |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 206 self["version"] = "%s.%s.%s.%s" % (self["new_major"], | 198 self["version"] = "%s.%s.%s.%s" % (self["new_major"], |
| 207 self["new_minor"], | 199 self["new_minor"], |
| 208 self["new_build"], | 200 self["new_build"], |
| 209 self["new_patch"]) | 201 self["new_patch"]) |
| 210 | 202 |
| 211 | 203 |
| 212 class CommitLocal(Step): | 204 class CommitLocal(Step): |
| 213 MESSAGE = "Commit to local branch." | 205 MESSAGE = "Commit to local branch." |
| 214 | 206 |
| 215 def RunStep(self): | 207 def RunStep(self): |
| 216 if not self._options.revert_bleeding_edge: | 208 # Add a commit message title. |
| 217 self["new_commit_msg"] = "Version %s\n\n%s" % (self["version"], | 209 if self._options.revert: |
| 218 self["new_commit_msg"]) | 210 if not self._options.revert_bleeding_edge: |
| 211 title = ("Version %s (rollback of %s)" |
| 212 % (self["version"], self["revision_list"])) |
| 213 else: |
| 214 title = "Revert %s." % self["revision_list"] |
| 215 else: |
| 216 title = ("Version %s (merged %s)" |
| 217 % (self["version"], self["revision_list"])) |
| 218 self["new_commit_msg"] = "%s\n\n%s" % (title, self["new_commit_msg"]) |
| 219 TextToFile(self["new_commit_msg"], self.Config(COMMITMSG_FILE)) | 219 TextToFile(self["new_commit_msg"], self.Config(COMMITMSG_FILE)) |
| 220 self.GitCommit(file_name=self.Config(COMMITMSG_FILE)) | 220 self.GitCommit(file_name=self.Config(COMMITMSG_FILE)) |
| 221 | 221 |
| 222 | 222 |
| 223 class CommitRepository(Step): | 223 class CommitRepository(Step): |
| 224 MESSAGE = "Commit to the repository." | 224 MESSAGE = "Commit to the repository." |
| 225 | 225 |
| 226 def RunStep(self): | 226 def RunStep(self): |
| 227 self.GitCheckout(self.Config(BRANCHNAME)) | 227 self.GitCheckout(self.Config(BRANCHNAME)) |
| 228 self.WaitForLGTM() | 228 self.WaitForLGTM() |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 UploadStep, | 325 UploadStep, |
| 326 CommitRepository, | 326 CommitRepository, |
| 327 PrepareSVN, | 327 PrepareSVN, |
| 328 TagRevision, | 328 TagRevision, |
| 329 CleanUp, | 329 CleanUp, |
| 330 ] | 330 ] |
| 331 | 331 |
| 332 | 332 |
| 333 if __name__ == "__main__": # pragma: no cover | 333 if __name__ == "__main__": # pragma: no cover |
| 334 sys.exit(MergeToBranch(CONFIG).Run()) | 334 sys.exit(MergeToBranch(CONFIG).Run()) |
| OLD | NEW |