Commit a9d9aa42 authored by borenet@google.com's avatar borenet@google.com

gclient: Only _DeleteOrMove if the destination directory is non-empty

BUG=364601

Review URL: https://codereview.chromium.org/246433005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@265298 0039d316-1c4b-4281-b951-d872f2087c98
parent dabbea27
......@@ -352,7 +352,8 @@ class GitWrapper(SCMWrapper):
(os.path.isdir(self.checkout_path) and
not os.path.exists(os.path.join(self.checkout_path, '.git')))):
if (os.path.isdir(self.checkout_path) and
not os.path.exists(os.path.join(self.checkout_path, '.git'))):
not os.path.exists(os.path.join(self.checkout_path, '.git')) and
os.listdir(self.checkout_path)):
# This is a little hack to work around checkouts which are created
# using "gclient config --name ."
if not self.relpath == '.':
......
......@@ -1300,6 +1300,8 @@ class ManagedGitWrapperTestCaseMox(BaseTestCase):
gclient_scm.os.path.isdir(self.base_path).AndReturn(True)
gclient_scm.os.path.exists(os.path.join(self.base_path, '.git')
).AndReturn(False)
self.mox.StubOutWithMock(gclient_scm.os, 'listdir', True)
gclient_scm.os.listdir(self.base_path).AndReturn([])
self.mox.StubOutWithMock(gclient_scm.GitWrapper, '_Clone', True)
# pylint: disable=E1120
......@@ -1332,6 +1334,8 @@ class ManagedGitWrapperTestCaseMox(BaseTestCase):
gclient_scm.os.path.isdir(self.base_path).AndReturn(True)
gclient_scm.os.path.exists(os.path.join(self.base_path, '.git')
).AndReturn(False)
self.mox.StubOutWithMock(gclient_scm.os, 'listdir', True)
gclient_scm.os.listdir(self.base_path).AndReturn([])
self.mox.StubOutWithMock(gclient_scm.GitWrapper, '_Clone', True)
# pylint: disable=E1120
gclient_scm.GitWrapper._Clone('refs/remotes/origin/master', self.url,
......
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