From cf138c64b40101a28ce50d63f6f0fbd9da5c967a Mon Sep 17 00:00:00 2001 From: "machenbach@chromium.org" Date: Thu, 23 Jan 2014 10:55:40 +0000 Subject: [PATCH] Let push-to-trunk script retry failing svn writes. BUG= TEST=python -m unittest test_scripts R=ulan@chromium.org Review URL: https://codereview.chromium.org/144463003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- tools/push-to-trunk/push_to_trunk.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/push-to-trunk/push_to_trunk.py b/tools/push-to-trunk/push_to_trunk.py index 06e277e..a934228 100755 --- a/tools/push-to-trunk/push_to_trunk.py +++ b/tools/push-to-trunk/push_to_trunk.py @@ -256,7 +256,8 @@ class CommitRepository(Step): if self.Git("cl presubmit", "PRESUBMIT_TREE_CHECK=\"skip\"") is None: self.Die("'git cl presubmit' failed, please try again.") - if self.Git("cl dcommit -f --bypass-hooks") is None: + if self.Git("cl dcommit -f --bypass-hooks", + retry_on=lambda x: x is None) is None: self.Die("'git cl dcommit' failed, please try again.") @@ -366,7 +367,7 @@ class CommitSVN(Step): MESSAGE = "Commit to SVN." def RunStep(self): - result = self.Git("svn dcommit 2>&1") + result = self.Git("svn dcommit 2>&1", retry_on=lambda x: x is None) if not result: self.Die("'git svn dcommit' failed.") result = filter(lambda x: re.search(r"^Committed r[0-9]+", x), @@ -395,7 +396,8 @@ class TagRevision(Step): ver = "%s.%s.%s" % (self._state["major"], self._state["minor"], self._state["build"]) - if self.Git("svn tag %s -m \"Tagging version %s\"" % (ver, ver)) is None: + if self.Git("svn tag %s -m \"Tagging version %s\"" % (ver, ver), + retry_on=lambda x: x is None) is None: self.Die("'git svn tag' failed.") -- 2.7.4