Index: tools/push-to-trunk/common_includes.py |
diff --git a/tools/push-to-trunk/common_includes.py b/tools/push-to-trunk/common_includes.py |
index a7f8047d2bdc6994597a93033675295295485cbe..21cdcf49777780a7c71d38fc63dd45d533202ee1 100644 |
--- a/tools/push-to-trunk/common_includes.py |
+++ b/tools/push-to-trunk/common_includes.py |
@@ -272,12 +272,6 @@ class VCInterface(object): |
def GetBranches(self): |
raise NotImplementedError() |
- def GitSvn(self, hsh, branch=""): |
- raise NotImplementedError() |
- |
- def SvnGit(self, rev, branch=""): |
- raise NotImplementedError() |
- |
def MasterBranch(self): |
raise NotImplementedError() |
@@ -299,9 +293,6 @@ class VCInterface(object): |
def CLLand(self): |
raise NotImplementedError() |
- # TODO(machenbach): There is some svn knowledge in this interface. In svn, |
- # tag and commit are different remote commands, while in git we would commit |
- # and tag locally and then push/land in one unique step. |
def Tag(self, tag, remote, message): |
"""Sets a tag for the current commit. |
@@ -310,68 +301,12 @@ class VCInterface(object): |
raise NotImplementedError() |
-class GitSvnInterface(VCInterface): |
- def Pull(self): |
- self.step.GitSVNRebase() |
- |
- def Fetch(self): |
- self.step.GitSVNFetch() |
- |
- def GetTags(self): |
- # Get remote tags. |
- tags = filter(lambda s: re.match(r"^svn/tags/[\d+\.]+$", s), |
- self.step.GitRemotes()) |
- |
- # Remove 'svn/tags/' prefix. |
- return map(lambda s: s[9:], tags) |
- |
- def GetBranches(self): |
- # Get relevant remote branches, e.g. "svn/3.25". |
- branches = filter(lambda s: re.match(r"^svn/\d+\.\d+$", s), |
- self.step.GitRemotes()) |
- # Remove 'svn/' prefix. |
- return map(lambda s: s[4:], branches) |
- |
- def GitSvn(self, hsh, branch=""): |
- return self.step.GitSVNFindSVNRev(hsh, branch) |
- |
- def SvnGit(self, rev, branch=""): |
- return self.step.GitSVNFindGitHash(rev, branch) |
- |
- def MasterBranch(self): |
- return "bleeding_edge" |
- |
- def CandidateBranch(self): |
- return "trunk" |
- |
- def RemoteMasterBranch(self): |
- return "svn/bleeding_edge" |
- |
- def RemoteCandidateBranch(self): |
- return "svn/trunk" |
- |
- def RemoteBranch(self, name): |
- return "svn/%s" % name |
- |
- def Land(self): |
- self.step.GitSVNDCommit() |
- |
- def CLLand(self): |
- self.step.GitDCommit() |
- |
- def Tag(self, tag, remote, _): |
- self.step.GitSVNFetch() |
- self.step.Git("rebase %s" % remote) |
- self.step.GitSVNTag(tag) |
- |
- |
-class GitTagsOnlyMixin(VCInterface): |
+class GitInterface(VCInterface): |
def Pull(self): |
self.step.GitPull() |
def Fetch(self): |
self.step.Git("fetch") |
- self.step.GitSVNFetch() |
def GetTags(self): |
return self.step.Git("tag").strip().splitlines() |
@@ -401,9 +336,6 @@ class GitTagsOnlyMixin(VCInterface): |
return "origin/%s" % name |
return "branch-heads/%s" % name |
- def PushRef(self, ref): |
- self.step.Git("push origin %s" % ref) |
- |
def Tag(self, tag, remote, message): |
# Wait for the commit to appear. Assumes unique commit message titles (this |
# is the case for all automated merge and push commits - also no title is |
@@ -422,42 +354,14 @@ class GitTagsOnlyMixin(VCInterface): |
"git updater is lagging behind?") |
self.step.Git("tag %s %s" % (tag, commit)) |
- self.PushRef(tag) |
- |
- |
-class GitReadSvnWriteInterface(GitTagsOnlyMixin, GitSvnInterface): |
- pass |
- |
- |
-class GitInterface(GitTagsOnlyMixin): |
- def Fetch(self): |
- self.step.Git("fetch") |
- |
- def GitSvn(self, hsh, branch=""): |
- return "" |
- |
- def SvnGit(self, rev, branch=""): |
- raise NotImplementedError() |
+ self.step.Git("push origin %s" % tag) |
def Land(self): |
- # FIXME(machenbach): This will not work with checkouts from bot_update |
- # after flag day because it will push to the cache. Investigate if it |
- # will work with "cl land". |
self.step.Git("push origin") |
def CLLand(self): |
self.step.GitCLLand() |
- def PushRef(self, ref): |
- self.step.Git("push https://chromium.googlesource.com/v8/v8 %s" % ref) |
- |
- |
-VC_INTERFACES = { |
- "git_svn": GitSvnInterface, |
- "git_read_svn_write": GitReadSvnWriteInterface, |
- "git": GitInterface, |
-} |
- |
class Step(GitRecipesMixin): |
def __init__(self, text, number, config, state, options, handler): |
@@ -467,7 +371,7 @@ class Step(GitRecipesMixin): |
self._state = state |
self._options = options |
self._side_effect_handler = handler |
- self.vc = VC_INTERFACES[options.vc_interface]() |
+ self.vc = GitInterface() |
self.vc.InjectStep(self) |
# The testing configuration might set a different default cwd. |
@@ -561,11 +465,6 @@ class Step(GitRecipesMixin): |
raise GitFailedException("'git %s' failed." % args) |
return result |
- def SVN(self, args="", prefix="", pipe=True, retry_on=None, cwd=None): |
- cmd = lambda: self._side_effect_handler.Command( |
- "svn", args, prefix, pipe, cwd=cwd or self.default_cwd) |
- return self.Retry(cmd, retry_on, [5, 30]) |
- |
def Editor(self, args): |
if self._options.requires_editor: |
return self._side_effect_handler.Command( |
@@ -727,34 +626,6 @@ class Step(GitRecipesMixin): |
output += "%s\n" % line |
TextToFile(output, version_file) |
- def SVNCommit(self, root, commit_message): |
- patch = self.GitDiff("HEAD^", "HEAD") |
- TextToFile(patch, self._config["PATCH_FILE"]) |
- self.Command("svn", "update", cwd=self._options.svn) |
- if self.Command("svn", "status", cwd=self._options.svn) != "": |
- self.Die("SVN checkout not clean.") |
- if not self.Command("patch", "-d %s -p1 -i %s" % |
- (root, self._config["PATCH_FILE"]), |
- cwd=self._options.svn): |
- self.Die("Could not apply patch.") |
- for line in self.Command( |
- "svn", "status", cwd=self._options.svn).splitlines(): |
- # Check for added and removed items. Svn status has seven status columns. |
- # The first contains ? for unknown and ! for missing. |
- match = re.match(r"^(.)...... (.*)$", line) |
- if match and match.group(1) == "?": |
- self.Command("svn", "add --force %s" % match.group(2), |
- cwd=self._options.svn) |
- if match and match.group(1) == "!": |
- self.Command("svn", "delete --force %s" % match.group(2), |
- cwd=self._options.svn) |
- |
- self.Command( |
- "svn", |
- "commit --non-interactive --username=%s --config-dir=%s -m \"%s\"" % |
- (self._options.author, self._options.svn_config, commit_message), |
- cwd=self._options.svn) |
- |
class BootstrapStep(Step): |
MESSAGE = "Bootstapping v8 checkout." |
@@ -873,17 +744,9 @@ class ScriptsBase(object): |
help=("Determine current sheriff to review CLs. On " |
"success, this will overwrite the reviewer " |
"option.")) |
- parser.add_argument("--svn", |
- help=("Optional full svn checkout for the commit." |
- "The folder needs to be the svn root.")) |
- parser.add_argument("--svn-config", |
- help=("Optional folder used as svn --config-dir.")) |
parser.add_argument("-s", "--step", |
help="Specify the step where to start work. Default: 0.", |
default=0, type=int) |
- parser.add_argument("--vc-interface", |
- help=("Choose VC interface out of git_svn|" |
- "git_read_svn_write.")) |
parser.add_argument("--work-dir", |
help=("Location where to bootstrap a working v8 " |
"checkout.")) |
@@ -903,10 +766,6 @@ class ScriptsBase(object): |
print "To determine the current sheriff, requires the googler mapping" |
parser.print_help() |
return None |
- if options.svn and not options.svn_config: |
- print "Using pure svn for committing requires also --svn-config" |
- parser.print_help() |
- return None |
# Defaults for options, common to all scripts. |
options.manual = getattr(options, "manual", True) |
@@ -924,8 +783,6 @@ class ScriptsBase(object): |
parser.print_help() |
return None |
- if not options.vc_interface: |
- options.vc_interface = "git_read_svn_write" |
if not options.work_dir: |
options.work_dir = "/tmp/v8-release-scripts-work-dir" |
return options |