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

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

Issue 266083003: Remove old branch logic from push scripts. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix logging subprocesses. Created 6 years, 7 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/merge_to_branch.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 24 matching lines...) Expand all
35 import subprocess 35 import subprocess
36 import sys 36 import sys
37 import textwrap 37 import textwrap
38 import time 38 import time
39 import urllib2 39 import urllib2
40 40
41 from git_recipes import GitRecipesMixin 41 from git_recipes import GitRecipesMixin
42 from git_recipes import GitFailedException 42 from git_recipes import GitFailedException
43 43
44 PERSISTFILE_BASENAME = "PERSISTFILE_BASENAME" 44 PERSISTFILE_BASENAME = "PERSISTFILE_BASENAME"
45 TEMP_BRANCH = "TEMP_BRANCH"
46 BRANCHNAME = "BRANCHNAME" 45 BRANCHNAME = "BRANCHNAME"
47 DOT_GIT_LOCATION = "DOT_GIT_LOCATION" 46 DOT_GIT_LOCATION = "DOT_GIT_LOCATION"
48 VERSION_FILE = "VERSION_FILE" 47 VERSION_FILE = "VERSION_FILE"
49 CHANGELOG_FILE = "CHANGELOG_FILE" 48 CHANGELOG_FILE = "CHANGELOG_FILE"
50 CHANGELOG_ENTRY_FILE = "CHANGELOG_ENTRY_FILE" 49 CHANGELOG_ENTRY_FILE = "CHANGELOG_ENTRY_FILE"
51 COMMITMSG_FILE = "COMMITMSG_FILE" 50 COMMITMSG_FILE = "COMMITMSG_FILE"
52 PATCH_FILE = "PATCH_FILE" 51 PATCH_FILE = "PATCH_FILE"
53 52
54 53
55 def TextToFile(text, file_name): 54 def TextToFile(text, file_name):
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 else: 168 else:
170 return "" 169 return ""
171 170
172 171
173 # Some commands don't like the pipe, e.g. calling vi from within the script or 172 # Some commands don't like the pipe, e.g. calling vi from within the script or
174 # from subscripts like git cl upload. 173 # from subscripts like git cl upload.
175 def Command(cmd, args="", prefix="", pipe=True): 174 def Command(cmd, args="", prefix="", pipe=True):
176 # TODO(machenbach): Use timeout. 175 # TODO(machenbach): Use timeout.
177 cmd_line = "%s %s %s" % (prefix, cmd, args) 176 cmd_line = "%s %s %s" % (prefix, cmd, args)
178 print "Command: %s" % cmd_line 177 print "Command: %s" % cmd_line
178 sys.stdout.flush()
179 try: 179 try:
180 if pipe: 180 if pipe:
181 return subprocess.check_output(cmd_line, shell=True) 181 return subprocess.check_output(cmd_line, shell=True)
182 else: 182 else:
183 return subprocess.check_call(cmd_line, shell=True) 183 return subprocess.check_call(cmd_line, shell=True)
184 except subprocess.CalledProcessError: 184 except subprocess.CalledProcessError:
185 return None 185 return None
186 finally:
187 sys.stdout.flush()
188 sys.stderr.flush()
186 189
187 190
188 # Wrapper for side effects. 191 # Wrapper for side effects.
189 class SideEffectHandler(object): # pragma: no cover 192 class SideEffectHandler(object): # pragma: no cover
190 def Call(self, fun, *args, **kwargs): 193 def Call(self, fun, *args, **kwargs):
191 return fun(*args, **kwargs) 194 return fun(*args, **kwargs)
192 195
193 def Command(self, cmd, args="", prefix="", pipe=True): 196 def Command(self, cmd, args="", prefix="", pipe=True):
194 return Command(cmd, args, prefix, pipe) 197 return Command(cmd, args, prefix, pipe)
195 198
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
369 if not self.GitIsWorkdirClean(): # pragma: no cover 372 if not self.GitIsWorkdirClean(): # pragma: no cover
370 self.Die("Workspace is not clean. Please commit or undo your changes.") 373 self.Die("Workspace is not clean. Please commit or undo your changes.")
371 374
372 # Persist current branch. 375 # Persist current branch.
373 self["current_branch"] = self.GitCurrentBranch() 376 self["current_branch"] = self.GitCurrentBranch()
374 377
375 # Fetch unfetched revisions. 378 # Fetch unfetched revisions.
376 self.GitSVNFetch() 379 self.GitSVNFetch()
377 380
378 def PrepareBranch(self): 381 def PrepareBranch(self):
379 # Get ahold of a safe temporary branch and check it out.
380 if self["current_branch"] != self._config[TEMP_BRANCH]:
381 self.DeleteBranch(self._config[TEMP_BRANCH])
382 self.GitCreateBranch(self._config[TEMP_BRANCH])
383
384 # Delete the branch that will be created later if it exists already. 382 # Delete the branch that will be created later if it exists already.
385 self.DeleteBranch(self._config[BRANCHNAME]) 383 self.DeleteBranch(self._config[BRANCHNAME])
386 384
387 def CommonCleanup(self): 385 def CommonCleanup(self):
388 self.GitCheckout(self["current_branch"]) 386 self.GitCheckout(self["current_branch"])
389 if self._config[TEMP_BRANCH] != self["current_branch"]:
390 self.GitDeleteBranch(self._config[TEMP_BRANCH])
391 if self._config[BRANCHNAME] != self["current_branch"]: 387 if self._config[BRANCHNAME] != self["current_branch"]:
392 self.GitDeleteBranch(self._config[BRANCHNAME]) 388 self.GitDeleteBranch(self._config[BRANCHNAME])
393 389
394 # Clean up all temporary files. 390 # Clean up all temporary files.
395 Command("rm", "-f %s*" % self._config[PERSISTFILE_BASENAME]) 391 Command("rm", "-f %s*" % self._config[PERSISTFILE_BASENAME])
396 392
397 def ReadAndPersistVersion(self, prefix=""): 393 def ReadAndPersistVersion(self, prefix=""):
398 def ReadAndPersist(var_name, def_name): 394 def ReadAndPersist(var_name, def_name):
399 match = re.match(r"^#define %s\s+(\d*)" % def_name, line) 395 match = re.match(r"^#define %s\s+(\d*)" % def_name, line)
400 if match: 396 if match:
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
601 for (number, step_class) in enumerate(step_classes): 597 for (number, step_class) in enumerate(step_classes):
602 steps.append(MakeStep(step_class, number, self._state, self._config, 598 steps.append(MakeStep(step_class, number, self._state, self._config,
603 options, self._side_effect_handler)) 599 options, self._side_effect_handler))
604 for step in steps[options.step:]: 600 for step in steps[options.step:]:
605 if step.Run(): 601 if step.Run():
606 return 1 602 return 1
607 return 0 603 return 0
608 604
609 def Run(self, args=None): 605 def Run(self, args=None):
610 return self.RunSteps(self._Steps(), args) 606 return self.RunSteps(self._Steps(), args)
OLDNEW
« no previous file with comments | « no previous file | tools/push-to-trunk/merge_to_branch.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698