Re-reland r245404 ("If the destination directory doesn't contain the desired repo, delete it")
BUG=
Review URL: https://codereview.chromium.org/133073015
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@250482 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/scm.py b/scm.py
index 30bb3d1..60ba800 100644
--- a/scm.py
+++ b/scm.py
@@ -166,12 +166,15 @@
return GIT.ShortBranchName(GIT.GetBranchRef(cwd))
@staticmethod
- def IsGitSvn(cwd):
+ def IsGitSvn(checkout_root):
"""Returns true if this repo looks like it's using git-svn."""
+ # A git-svn checkout has a .git directory.
+ if not os.path.isdir(os.path.join(checkout_root, '.git')):
+ return False
# If you have any "svn-remote.*" config keys, we think you're using svn.
try:
GIT.Capture(['config', '--local', '--get-regexp', r'^svn-remote\.'],
- cwd=cwd)
+ cwd=checkout_root)
return True
except subprocess2.CalledProcessError:
return False
@@ -408,7 +411,7 @@
@staticmethod
def GetSha1ForSvnRev(cwd, rev):
"""Returns a corresponding git sha1 for a SVN revision."""
- if not GIT.IsGitSvn(cwd=cwd):
+ if not GIT.IsGitSvn(cwd):
return None
try:
output = GIT.Capture(['svn', 'find-rev', 'r' + str(rev)], cwd=cwd)