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

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

Issue 544153002: Add ability to make pure svn commits to roll scripts (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 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/push-to-trunk/bump_up_version.py ('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 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 511 matching lines...) Expand 10 before | Expand all | Expand 10 after
522 line = re.sub("\d+$", self[prefix + "major"], line) 522 line = re.sub("\d+$", self[prefix + "major"], line)
523 elif line.startswith("#define MINOR_VERSION"): 523 elif line.startswith("#define MINOR_VERSION"):
524 line = re.sub("\d+$", self[prefix + "minor"], line) 524 line = re.sub("\d+$", self[prefix + "minor"], line)
525 elif line.startswith("#define BUILD_NUMBER"): 525 elif line.startswith("#define BUILD_NUMBER"):
526 line = re.sub("\d+$", self[prefix + "build"], line) 526 line = re.sub("\d+$", self[prefix + "build"], line)
527 elif line.startswith("#define PATCH_LEVEL"): 527 elif line.startswith("#define PATCH_LEVEL"):
528 line = re.sub("\d+$", self[prefix + "patch"], line) 528 line = re.sub("\d+$", self[prefix + "patch"], line)
529 output += "%s\n" % line 529 output += "%s\n" % line
530 TextToFile(output, version_file) 530 TextToFile(output, version_file)
531 531
532 def SVNCommit(self, root, commit_message):
533 patch = self.GitDiff("HEAD^", "HEAD")
534 TextToFile(patch, self._config[PATCH_FILE])
535 if not self.Command("patch", "-d %s -p1 -i %s" %
536 (root, self._config[PATCH_FILE]),
537 cwd=self._options.svn):
538 self.Die("Could not apply patch.")
539 self.Command(
540 "svn",
541 "commit --non-interactive --username=%s --config-dir=%s -m \"%s\"" %
542 (self._options.author, self._options.svn_config, commit_message),
543 cwd=self._options.svn)
544
545
532 class UploadStep(Step): 546 class UploadStep(Step):
533 MESSAGE = "Upload for code review." 547 MESSAGE = "Upload for code review."
534 548
535 def RunStep(self): 549 def RunStep(self):
536 if self._options.reviewer: 550 if self._options.reviewer:
537 print "Using account %s for review." % self._options.reviewer 551 print "Using account %s for review." % self._options.reviewer
538 reviewer = self._options.reviewer 552 reviewer = self._options.reviewer
539 else: 553 else:
540 print "Please enter the email address of a V8 reviewer for your patch: ", 554 print "Please enter the email address of a V8 reviewer for your patch: ",
541 self.DieNoManualMode("A reviewer must be specified in forced mode.") 555 self.DieNoManualMode("A reviewer must be specified in forced mode.")
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
624 parser.add_argument("--dry-run", default=False, action="store_true", 638 parser.add_argument("--dry-run", default=False, action="store_true",
625 help="Perform only read-only actions.") 639 help="Perform only read-only actions.")
626 parser.add_argument("-g", "--googlers-mapping", 640 parser.add_argument("-g", "--googlers-mapping",
627 help="Path to the script mapping google accounts.") 641 help="Path to the script mapping google accounts.")
628 parser.add_argument("-r", "--reviewer", default="", 642 parser.add_argument("-r", "--reviewer", default="",
629 help="The account name to be used for reviews.") 643 help="The account name to be used for reviews.")
630 parser.add_argument("--sheriff", default=False, action="store_true", 644 parser.add_argument("--sheriff", default=False, action="store_true",
631 help=("Determine current sheriff to review CLs. On " 645 help=("Determine current sheriff to review CLs. On "
632 "success, this will overwrite the reviewer " 646 "success, this will overwrite the reviewer "
633 "option.")) 647 "option."))
648 parser.add_argument("--svn",
649 help=("Optional full svn checkout for the commit."
650 "The folder needs to be the svn root."))
651 parser.add_argument("--svn-config",
652 help=("Optional folder used as svn --config-dir."))
634 parser.add_argument("-s", "--step", 653 parser.add_argument("-s", "--step",
635 help="Specify the step where to start work. Default: 0.", 654 help="Specify the step where to start work. Default: 0.",
636 default=0, type=int) 655 default=0, type=int)
637 self._PrepareOptions(parser) 656 self._PrepareOptions(parser)
638 657
639 if args is None: # pragma: no cover 658 if args is None: # pragma: no cover
640 options = parser.parse_args() 659 options = parser.parse_args()
641 else: 660 else:
642 options = parser.parse_args(args) 661 options = parser.parse_args(args)
643 662
644 # Process common options. 663 # Process common options.
645 if options.step < 0: # pragma: no cover 664 if options.step < 0: # pragma: no cover
646 print "Bad step number %d" % options.step 665 print "Bad step number %d" % options.step
647 parser.print_help() 666 parser.print_help()
648 return None 667 return None
649 if options.sheriff and not options.googlers_mapping: # pragma: no cover 668 if options.sheriff and not options.googlers_mapping: # pragma: no cover
650 print "To determine the current sheriff, requires the googler mapping" 669 print "To determine the current sheriff, requires the googler mapping"
651 parser.print_help() 670 parser.print_help()
652 return None 671 return None
672 if options.svn and not options.svn_config:
673 print "Using pure svn for committing requires also --svn-config"
674 parser.print_help()
675 return None
653 676
654 # Defaults for options, common to all scripts. 677 # Defaults for options, common to all scripts.
655 options.manual = getattr(options, "manual", True) 678 options.manual = getattr(options, "manual", True)
656 options.force = getattr(options, "force", False) 679 options.force = getattr(options, "force", False)
657 680
658 # Derived options. 681 # Derived options.
659 options.requires_editor = not options.force 682 options.requires_editor = not options.force
660 options.wait_for_lgtm = not options.force 683 options.wait_for_lgtm = not options.force
661 options.force_readline_defaults = not options.manual 684 options.force_readline_defaults = not options.manual
662 options.force_upload = not options.manual 685 options.force_upload = not options.manual
(...skipping 17 matching lines...) Expand all
680 for (number, step_class) in enumerate(step_classes): 703 for (number, step_class) in enumerate(step_classes):
681 steps.append(MakeStep(step_class, number, self._state, self._config, 704 steps.append(MakeStep(step_class, number, self._state, self._config,
682 options, self._side_effect_handler)) 705 options, self._side_effect_handler))
683 for step in steps[options.step:]: 706 for step in steps[options.step:]:
684 if step.Run(): 707 if step.Run():
685 return 0 708 return 0
686 return 0 709 return 0
687 710
688 def Run(self, args=None): 711 def Run(self, args=None):
689 return self.RunSteps(self._Steps(), args) 712 return self.RunSteps(self._Steps(), args)
OLDNEW
« no previous file with comments | « tools/push-to-trunk/bump_up_version.py ('k') | tools/push-to-trunk/test_scripts.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698