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

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

Issue 196283014: Maintain change log file directly on trunk branch in push-to-trunk. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 9 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 | « no previous file | 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 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 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 self.GitCheckout("svn/bleeding_edge") 260 self.GitCheckout("svn/bleeding_edge")
261 self["prepare_commit_hash"] = self.GitLog(n=1, format="%H", 261 self["prepare_commit_hash"] = self.GitLog(n=1, format="%H",
262 grep=self["prep_commit_msg"]) 262 grep=self["prep_commit_msg"])
263 263
264 264
265 class SquashCommits(Step): 265 class SquashCommits(Step):
266 MESSAGE = "Squash commits into one." 266 MESSAGE = "Squash commits into one."
267 267
268 def RunStep(self): 268 def RunStep(self):
269 # Instead of relying on "git rebase -i", we'll just create a diff, because 269 # Instead of relying on "git rebase -i", we'll just create a diff, because
270 # that's easier to automate. 270 # that's easier to automate. Exclude the ChangeLog file. It is not
271 TextToFile(self.GitDiff("svn/trunk", self["prepare_commit_hash"]), 271 # maintained on bleeding edge. Changes will be added in a separate step
272 # below.
273 TextToFile(self.GitDiff("svn/trunk",
274 self["prepare_commit_hash"],
275 exclude=[self.Config(CHANGELOG_FILE)]),
272 self.Config(PATCH_FILE)) 276 self.Config(PATCH_FILE))
273 277
274 # Convert the ChangeLog entry to commit message format. 278 # Convert the ChangeLog entry to commit message format.
275 text = FileToText(self.Config(CHANGELOG_ENTRY_FILE)) 279 text = FileToText(self.Config(CHANGELOG_ENTRY_FILE))
276 280
277 # Remove date and trailing white space. 281 # Remove date and trailing white space.
278 text = re.sub(r"^%s: " % self["date"], "", text.rstrip()) 282 text = re.sub(r"^%s: " % self["date"], "", text.rstrip())
279 283
280 # Retrieve svn revision for showing the used bleeding edge revision in the 284 # Retrieve svn revision for showing the used bleeding edge revision in the
281 # commit message. 285 # commit message.
(...skipping 22 matching lines...) Expand all
304 308
305 309
306 class ApplyChanges(Step): 310 class ApplyChanges(Step):
307 MESSAGE = "Apply squashed changes." 311 MESSAGE = "Apply squashed changes."
308 312
309 def RunStep(self): 313 def RunStep(self):
310 self.ApplyPatch(self.Config(PATCH_FILE)) 314 self.ApplyPatch(self.Config(PATCH_FILE))
311 Command("rm", "-f %s*" % self.Config(PATCH_FILE)) 315 Command("rm", "-f %s*" % self.Config(PATCH_FILE))
312 316
313 317
318 class AddChangeLog(Step):
319 MESSAGE = "Add ChangeLog changes to trunk branch."
320
321 def RunStep(self):
322 changelog_entry = FileToText(self.Config(NEW_CHANGELOG_FILE))
323 old_change_log = FileToText(self.Config(CHANGELOG_FILE))
324 new_change_log = "%s\n\n\n%s" % (changelog_entry, old_change_log)
325 TextToFile(new_change_log, self.Config(CHANGELOG_FILE))
326 os.remove(self.Config(NEW_CHANGELOG_FILE))
327
314 class SetVersion(Step): 328 class SetVersion(Step):
315 MESSAGE = "Set correct version for trunk." 329 MESSAGE = "Set correct version for trunk."
316 330
317 def RunStep(self): 331 def RunStep(self):
318 output = "" 332 output = ""
319 for line in FileToText(self.Config(VERSION_FILE)).splitlines(): 333 for line in FileToText(self.Config(VERSION_FILE)).splitlines():
320 if line.startswith("#define MAJOR_VERSION"): 334 if line.startswith("#define MAJOR_VERSION"):
321 line = re.sub("\d+$", self["major"], line) 335 line = re.sub("\d+$", self["major"], line)
322 elif line.startswith("#define MINOR_VERSION"): 336 elif line.startswith("#define MINOR_VERSION"):
323 line = re.sub("\d+$", self["minor"], line) 337 line = re.sub("\d+$", self["minor"], line)
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 PrepareChangeLog, 536 PrepareChangeLog,
523 EditChangeLog, 537 EditChangeLog,
524 IncrementVersion, 538 IncrementVersion,
525 CommitLocal, 539 CommitLocal,
526 UploadStep, 540 UploadStep,
527 CommitRepository, 541 CommitRepository,
528 StragglerCommits, 542 StragglerCommits,
529 SquashCommits, 543 SquashCommits,
530 NewBranch, 544 NewBranch,
531 ApplyChanges, 545 ApplyChanges,
546 AddChangeLog,
532 SetVersion, 547 SetVersion,
533 CommitTrunk, 548 CommitTrunk,
534 SanityCheck, 549 SanityCheck,
535 CommitSVN, 550 CommitSVN,
536 TagRevision, 551 TagRevision,
537 CheckChromium, 552 CheckChromium,
538 SwitchChromium, 553 SwitchChromium,
539 UpdateChromiumCheckout, 554 UpdateChromiumCheckout,
540 UploadCL, 555 UploadCL,
541 SwitchV8, 556 SwitchV8,
542 CleanUp, 557 CleanUp,
543 ] 558 ]
544 559
545 560
546 if __name__ == "__main__": # pragma: no cover 561 if __name__ == "__main__": # pragma: no cover
547 sys.exit(PushToTrunk(CONFIG).Run()) 562 sys.exit(PushToTrunk(CONFIG).Run())
OLDNEW
« no previous file with comments | « no previous file | tools/push-to-trunk/test_scripts.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698