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
changes/01/332501/1
borenet@google.com 11 years ago
parent dabbea27f0
commit a9d9aa429f

@ -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,

Loading…
Cancel
Save