Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(305)

Side by Side Diff: tools/push-to-trunk/merge_to_branch.py

Issue 223093003: Add version number to commit message in merge-to-branch. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/merge-to-branch.sh ('k') | tools/push-to-trunk/test_scripts.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 151
152 bugs = [] 152 bugs = []
153 for commit_hash in self["patch_commit_hashes"]: 153 for commit_hash in self["patch_commit_hashes"]:
154 msg = self.GitLog(n=1, git_hash=commit_hash) 154 msg = self.GitLog(n=1, git_hash=commit_hash)
155 for bug in re.findall(r"^[ \t]*BUG[ \t]*=[ \t]*(.*?)[ \t]*$", msg, 155 for bug in re.findall(r"^[ \t]*BUG[ \t]*=[ \t]*(.*?)[ \t]*$", msg,
156 re.M): 156 re.M):
157 bugs.extend(map(lambda s: s.strip(), bug.split(","))) 157 bugs.extend(map(lambda s: s.strip(), bug.split(",")))
158 bug_aggregate = ",".join(sorted(bugs)) 158 bug_aggregate = ",".join(sorted(bugs))
159 if bug_aggregate: 159 if bug_aggregate:
160 self["new_commit_msg"] += "BUG=%s\nLOG=N\n" % bug_aggregate 160 self["new_commit_msg"] += "BUG=%s\nLOG=N\n" % bug_aggregate
161 TextToFile(self["new_commit_msg"], self.Config(COMMITMSG_FILE))
162 161
163 162
164 class ApplyPatches(Step): 163 class ApplyPatches(Step):
165 MESSAGE = "Apply patches for selected revisions." 164 MESSAGE = "Apply patches for selected revisions."
166 165
167 def RunStep(self): 166 def RunStep(self):
168 for commit_hash in self["patch_commit_hashes"]: 167 for commit_hash in self["patch_commit_hashes"]:
169 print("Applying patch for %s to %s..." 168 print("Applying patch for %s to %s..."
170 % (commit_hash, self["merge_to_branch"])) 169 % (commit_hash, self["merge_to_branch"]))
171 patch = self.GitGetPatch(commit_hash) 170 patch = self.GitGetPatch(commit_hash)
172 TextToFile(patch, self.Config(TEMPORARY_PATCH_FILE)) 171 TextToFile(patch, self.Config(TEMPORARY_PATCH_FILE))
173 self.ApplyPatch(self.Config(TEMPORARY_PATCH_FILE), self._options.revert) 172 self.ApplyPatch(self.Config(TEMPORARY_PATCH_FILE), self._options.revert)
174 if self._options.patch: 173 if self._options.patch:
175 self.ApplyPatch(self._options.patch, self._options.revert) 174 self.ApplyPatch(self._options.patch, self._options.revert)
176 175
177 176
178 class PrepareVersion(Step): 177 class PrepareVersion(Step):
179 MESSAGE = "Prepare version file." 178 MESSAGE = "Prepare version file."
180 179
181 def RunStep(self): 180 def RunStep(self):
182 if self._options.revert_bleeding_edge: 181 if self._options.revert_bleeding_edge:
183 return 182 return
184 # These version numbers are used again for creating the tag 183 # This is used to calculate the patch level increment.
185 self.ReadAndPersistVersion() 184 self.ReadAndPersistVersion()
186 185
187 186
188 class IncrementVersion(Step): 187 class IncrementVersion(Step):
189 MESSAGE = "Increment version number." 188 MESSAGE = "Increment version number."
190 189
191 def RunStep(self): 190 def RunStep(self):
192 if self._options.revert_bleeding_edge: 191 if self._options.revert_bleeding_edge:
193 return 192 return
194 new_patch = str(int(self["patch"]) + 1) 193 new_patch = str(int(self["patch"]) + 1)
195 if self.Confirm("Automatically increment PATCH_LEVEL? (Saying 'n' will " 194 if self.Confirm("Automatically increment PATCH_LEVEL? (Saying 'n' will "
196 "fire up your EDITOR on %s so you can make arbitrary " 195 "fire up your EDITOR on %s so you can make arbitrary "
197 "changes. When you're done, save the file and exit your " 196 "changes. When you're done, save the file and exit your "
198 "EDITOR.)" % self.Config(VERSION_FILE)): 197 "EDITOR.)" % self.Config(VERSION_FILE)):
199 text = FileToText(self.Config(VERSION_FILE)) 198 text = FileToText(self.Config(VERSION_FILE))
200 text = MSub(r"(?<=#define PATCH_LEVEL)(?P<space>\s+)\d*$", 199 text = MSub(r"(?<=#define PATCH_LEVEL)(?P<space>\s+)\d*$",
201 r"\g<space>%s" % new_patch, 200 r"\g<space>%s" % new_patch,
202 text) 201 text)
203 TextToFile(text, self.Config(VERSION_FILE)) 202 TextToFile(text, self.Config(VERSION_FILE))
204 else: 203 else:
205 self.Editor(self.Config(VERSION_FILE)) 204 self.Editor(self.Config(VERSION_FILE))
206 self.ReadAndPersistVersion("new_") 205 self.ReadAndPersistVersion("new_")
206 self["version"] = "%s.%s.%s.%s" % (self["new_major"],
207 self["new_minor"],
208 self["new_build"],
209 self["new_patch"])
207 210
208 211
209 class CommitLocal(Step): 212 class CommitLocal(Step):
210 MESSAGE = "Commit to local branch." 213 MESSAGE = "Commit to local branch."
211 214
212 def RunStep(self): 215 def RunStep(self):
216 if not self._options.revert_bleeding_edge:
217 self["new_commit_msg"] = "Version %s\n\n%s" % (self["version"],
218 self["new_commit_msg"])
219 TextToFile(self["new_commit_msg"], self.Config(COMMITMSG_FILE))
213 self.GitCommit(file_name=self.Config(COMMITMSG_FILE)) 220 self.GitCommit(file_name=self.Config(COMMITMSG_FILE))
214 221
215 222
216 class CommitRepository(Step): 223 class CommitRepository(Step):
217 MESSAGE = "Commit to the repository." 224 MESSAGE = "Commit to the repository."
218 225
219 def RunStep(self): 226 def RunStep(self):
220 self.GitCheckout(self.Config(BRANCHNAME)) 227 self.GitCheckout(self.Config(BRANCHNAME))
221 self.WaitForLGTM() 228 self.WaitForLGTM()
222 self.GitPresubmit() 229 self.GitPresubmit()
(...skipping 14 matching lines...) Expand all
237 self["svn_revision"] = self.GitSVNFindSVNRev(commit_hash) 244 self["svn_revision"] = self.GitSVNFindSVNRev(commit_hash)
238 print "subversion revision number is r%s" % self["svn_revision"] 245 print "subversion revision number is r%s" % self["svn_revision"]
239 246
240 247
241 class TagRevision(Step): 248 class TagRevision(Step):
242 MESSAGE = "Create the tag." 249 MESSAGE = "Create the tag."
243 250
244 def RunStep(self): 251 def RunStep(self):
245 if self._options.revert_bleeding_edge: 252 if self._options.revert_bleeding_edge:
246 return 253 return
247 self["version"] = "%s.%s.%s.%s" % (self["new_major"],
248 self["new_minor"],
249 self["new_build"],
250 self["new_patch"])
251 print "Creating tag svn/tags/%s" % self["version"] 254 print "Creating tag svn/tags/%s" % self["version"]
252 if self["merge_to_branch"] == "trunk": 255 if self["merge_to_branch"] == "trunk":
253 self["to_url"] = "trunk" 256 self["to_url"] = "trunk"
254 else: 257 else:
255 self["to_url"] = "branches/%s" % self["merge_to_branch"] 258 self["to_url"] = "branches/%s" % self["merge_to_branch"]
256 self.SVN("copy -r %s https://v8.googlecode.com/svn/%s " 259 self.SVN("copy -r %s https://v8.googlecode.com/svn/%s "
257 "https://v8.googlecode.com/svn/tags/%s -m " 260 "https://v8.googlecode.com/svn/tags/%s -m "
258 "\"Tagging version %s\"" 261 "\"Tagging version %s\""
259 % (self["svn_revision"], self["to_url"], 262 % (self["svn_revision"], self["to_url"],
260 self["version"], self["version"])) 263 self["version"], self["version"]))
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 UploadStep, 325 UploadStep,
323 CommitRepository, 326 CommitRepository,
324 PrepareSVN, 327 PrepareSVN,
325 TagRevision, 328 TagRevision,
326 CleanUp, 329 CleanUp,
327 ] 330 ]
328 331
329 332
330 if __name__ == "__main__": # pragma: no cover 333 if __name__ == "__main__": # pragma: no cover
331 sys.exit(MergeToBranch(CONFIG).Run()) 334 sys.exit(MergeToBranch(CONFIG).Run())
OLDNEW
« no previous file with comments | « tools/merge-to-branch.sh ('k') | tools/push-to-trunk/test_scripts.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698