From 1580d959c3702f599144b9218a2c0975829a9a8a Mon Sep 17 00:00:00 2001 From: "kustermann@google.com" Date: Mon, 19 Aug 2013 07:31:40 +0000 Subject: [PATCH] Bugfix in gclient_scm.py: Remove the correct directories if svn checkout is in a broken state Review URL: https://chromiumcodereview.appspot.com/22886004 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@218239 0039d316-1c4b-4281-b951-d872f2087c98 --- gclient_scm.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/gclient_scm.py b/gclient_scm.py index af74b754d1..bb719ebf70 100644 --- a/gclient_scm.py +++ b/gclient_scm.py @@ -1230,8 +1230,13 @@ class SVNWrapper(SCMWrapper): for d in dir_info: if d[0][2] == 'L': if d[0][0] == '!' and options.force: - print 'Removing troublesome path %s' % d[1] - gclient_utils.rmtree(d[1]) + # We don't pass any files/directories to CaptureStatus and set + # cwd=self.checkout_path, so we should get relative paths here. + assert not os.path.isabs(d[1]) + path_to_remove = os.path.normpath( + os.path.join(self.checkout_path, d[1])) + print 'Removing troublesome path %s' % path_to_remove + gclient_utils.rmtree(path_to_remove) else: print 'Not removing troublesome path %s automatically.' % d[1] if d[0][0] == '!':