Commit 6e904b47 authored by maruel@chromium.org's avatar maruel@chromium.org

Add workaround where SVN.Revert() deletes the checkout.

This would cause a few exceptions on the CQ until it realizes the checkout is
not present anymore.

R=petermayo@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/11649011

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@173916 0039d316-1c4b-4281-b951-d872f2087c98
parent 13f24eb0
......@@ -479,15 +479,18 @@ class SvnCheckout(CheckoutBase, SvnMixIn):
flags = ['--ignore-externals']
if revision:
flags.extend(['--revision', str(revision)])
if not os.path.isdir(self.project_path):
if os.path.isdir(self.project_path):
# This may remove any part (or all) of the checkout.
scm.SVN.Revert(self.project_path, no_ignore=True)
if os.path.isdir(self.project_path):
# Revive files that were deleted in scm.SVN.Revert().
self._check_call_svn(['update', '--force'] + flags)
else:
logging.info(
'Directory %s is not present, checking it out.' % self.project_path)
self._check_call_svn(
['checkout', self.svn_url, self.project_path] + flags, cwd=None)
else:
scm.SVN.Revert(self.project_path, no_ignore=True)
# Revive files that were deleted in scm.SVN.Revert().
self._check_call_svn(['update', '--force'] + flags)
return self._get_revision()
def _get_revision(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment