Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(389)

Unified Diff: gclient_scm.py

Issue 11366239: Remove more unversioned directories. (Closed) Base URL: https://git.chromium.org/chromium/tools/depot_tools.git@master
Patch Set: Use subprocess instead of scm module. Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tests/gclient_smoketest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gclient_scm.py
diff --git a/gclient_scm.py b/gclient_scm.py
index ef93e5699aecf6f41fd6b56b56a593d4289e0ece..eb880c8959d5be039a5195a444e8015111028e94 100644
--- a/gclient_scm.py
+++ b/gclient_scm.py
@@ -929,7 +929,23 @@ class SVNWrapper(SCMWrapper):
forced_revision = False
rev_str = ''
- if not os.path.exists(self.checkout_path):
+ # Get the existing scm url and the revision number of the current checkout.
+ exists = os.path.exists(self.checkout_path)
+ if exists and managed:
+ try:
+ from_info = scm.SVN.CaptureLocalInfo(
+ [], os.path.join(self.checkout_path, '.'))
+ except (gclient_utils.Error, subprocess2.CalledProcessError):
+ if options.reset and options.delete_unversioned_trees:
+ print 'Removing troublesome path %s' % self.checkout_path
+ gclient_utils.rmtree(self.checkout_path)
Peter Mayo 2012/11/14 22:30:25 How does this report errors (e.g. owned by root su
M-A Ruel 2012/11/14 23:17:32 That will throw, IMHO it's not a big deal to not c
Peter Mayo 2012/11/15 01:37:10 It's not a big deal to me either, it's just a way
+ exists = False
+ else:
+ msg = ('Can\'t update/checkout %s if an unversioned directory is '
+ 'present. Delete the directory and try again.')
+ raise gclient_utils.Error(msg % self.checkout_path)
+
+ if not exists:
gclient_utils.safe_makedirs(os.path.dirname(self.checkout_path))
# We need to checkout.
command = ['checkout', url, self.checkout_path]
@@ -941,15 +957,6 @@ class SVNWrapper(SCMWrapper):
print ('________ unmanaged solution; skipping %s' % self.relpath)
return
- # Get the existing scm url and the revision number of the current checkout.
- try:
- from_info = scm.SVN.CaptureLocalInfo(
- [], os.path.join(self.checkout_path, '.'))
- except (gclient_utils.Error, subprocess2.CalledProcessError):
- raise gclient_utils.Error(
- ('Can\'t update/checkout %s if an unversioned directory is present. '
- 'Delete the directory and try again.') % self.checkout_path)
-
if 'URL' not in from_info:
raise gclient_utils.Error(
('gclient is confused. Couldn\'t get the url for %s.\n'
« no previous file with comments | « no previous file | tests/gclient_smoketest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698