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

Side by Side Diff: gclient_scm.py

Issue 14134010: Remove gclient_utils.RemoveDirectory(). (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: RemoveDirectory() -> rmtree() Created 7 years, 8 months 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 unified diff | Download patch
« no previous file with comments | « gclient.py ('k') | gclient_utils.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Gclient-specific SCM-specific operations.""" 5 """Gclient-specific SCM-specific operations."""
6 6
7 import logging 7 import logging
8 import os 8 import os
9 import posixpath 9 import posixpath
10 import re 10 import re
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after
519 # GIT.CaptureStatus() uses 'dit diff' to compare to a specific SHA1 (the 519 # GIT.CaptureStatus() uses 'dit diff' to compare to a specific SHA1 (the
520 # merge-base by default), so doesn't include untracked files. So we use 520 # merge-base by default), so doesn't include untracked files. So we use
521 # 'git ls-files --directory --others --exclude-standard' here directly. 521 # 'git ls-files --directory --others --exclude-standard' here directly.
522 paths = scm.GIT.Capture( 522 paths = scm.GIT.Capture(
523 ['ls-files', '--directory', '--others', '--exclude-standard'], 523 ['ls-files', '--directory', '--others', '--exclude-standard'],
524 self.checkout_path) 524 self.checkout_path)
525 for path in (p for p in paths.splitlines() if p.endswith('/')): 525 for path in (p for p in paths.splitlines() if p.endswith('/')):
526 full_path = os.path.join(self.checkout_path, path) 526 full_path = os.path.join(self.checkout_path, path)
527 if not os.path.islink(full_path): 527 if not os.path.islink(full_path):
528 print('\n_____ removing unversioned directory %s' % path) 528 print('\n_____ removing unversioned directory %s' % path)
529 gclient_utils.RemoveDirectory(full_path) 529 gclient_utils.rmtree(full_path)
530 530
531 531
532 def revert(self, options, args, file_list): 532 def revert(self, options, args, file_list):
533 """Reverts local modifications. 533 """Reverts local modifications.
534 534
535 All reverted files will be appended to file_list. 535 All reverted files will be appended to file_list.
536 """ 536 """
537 if not os.path.isdir(self.checkout_path): 537 if not os.path.isdir(self.checkout_path):
538 # revert won't work if the directory doesn't exist. It needs to 538 # revert won't work if the directory doesn't exist. It needs to
539 # checkout instead. 539 # checkout instead.
(...skipping 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
1073 if not options.force and not options.reset: 1073 if not options.force and not options.reset:
1074 # Look for local modifications but ignore unversioned files. 1074 # Look for local modifications but ignore unversioned files.
1075 for status in scm.SVN.CaptureStatus(None, self.checkout_path): 1075 for status in scm.SVN.CaptureStatus(None, self.checkout_path):
1076 if status[0][0] != '?': 1076 if status[0][0] != '?':
1077 raise gclient_utils.Error( 1077 raise gclient_utils.Error(
1078 ('Can\'t switch the checkout to %s; UUID don\'t match and ' 1078 ('Can\'t switch the checkout to %s; UUID don\'t match and '
1079 'there is local changes in %s. Delete the directory and ' 1079 'there is local changes in %s. Delete the directory and '
1080 'try again.') % (url, self.checkout_path)) 1080 'try again.') % (url, self.checkout_path))
1081 # Ok delete it. 1081 # Ok delete it.
1082 print('\n_____ switching %s to a new checkout' % self.relpath) 1082 print('\n_____ switching %s to a new checkout' % self.relpath)
1083 gclient_utils.RemoveDirectory(self.checkout_path) 1083 gclient_utils.rmtree(self.checkout_path)
1084 # We need to checkout. 1084 # We need to checkout.
1085 command = ['checkout', url, self.checkout_path] 1085 command = ['checkout', url, self.checkout_path]
1086 command = self._AddAdditionalUpdateFlags(command, options, revision) 1086 command = self._AddAdditionalUpdateFlags(command, options, revision)
1087 self._RunAndGetFileList(command, options, file_list, self._root_dir) 1087 self._RunAndGetFileList(command, options, file_list, self._root_dir)
1088 return 1088 return
1089 1089
1090 # If the provided url has a revision number that matches the revision 1090 # If the provided url has a revision number that matches the revision
1091 # number of the existing directory, then we don't need to bother updating. 1091 # number of the existing directory, then we don't need to bother updating.
1092 if not options.force and str(from_info['Revision']) == revision: 1092 if not options.force and str(from_info['Revision']) == revision:
1093 if options.verbose or not forced_revision: 1093 if options.verbose or not forced_revision:
1094 print('\n_____ %s%s' % (self.relpath, rev_str)) 1094 print('\n_____ %s%s' % (self.relpath, rev_str))
1095 else: 1095 else:
1096 command = ['update', self.checkout_path] 1096 command = ['update', self.checkout_path]
1097 command = self._AddAdditionalUpdateFlags(command, options, revision) 1097 command = self._AddAdditionalUpdateFlags(command, options, revision)
1098 self._RunAndGetFileList(command, options, file_list, self._root_dir) 1098 self._RunAndGetFileList(command, options, file_list, self._root_dir)
1099 1099
1100 # If --reset and --delete_unversioned_trees are specified, remove any 1100 # If --reset and --delete_unversioned_trees are specified, remove any
1101 # untracked files and directories. 1101 # untracked files and directories.
1102 if options.reset and options.delete_unversioned_trees: 1102 if options.reset and options.delete_unversioned_trees:
1103 for status in scm.SVN.CaptureStatus(None, self.checkout_path): 1103 for status in scm.SVN.CaptureStatus(None, self.checkout_path):
1104 full_path = os.path.join(self.checkout_path, status[1]) 1104 full_path = os.path.join(self.checkout_path, status[1])
1105 if (status[0][0] == '?' 1105 if (status[0][0] == '?'
1106 and os.path.isdir(full_path) 1106 and os.path.isdir(full_path)
1107 and not os.path.islink(full_path)): 1107 and not os.path.islink(full_path)):
1108 print('\n_____ removing unversioned directory %s' % status[1]) 1108 print('\n_____ removing unversioned directory %s' % status[1])
1109 gclient_utils.RemoveDirectory(full_path) 1109 gclient_utils.rmtree(full_path)
1110 1110
1111 def updatesingle(self, options, args, file_list): 1111 def updatesingle(self, options, args, file_list):
1112 filename = args.pop() 1112 filename = args.pop()
1113 if scm.SVN.AssertVersion("1.5")[0]: 1113 if scm.SVN.AssertVersion("1.5")[0]:
1114 if not os.path.exists(os.path.join(self.checkout_path, '.svn')): 1114 if not os.path.exists(os.path.join(self.checkout_path, '.svn')):
1115 # Create an empty checkout and then update the one file we want. Future 1115 # Create an empty checkout and then update the one file we want. Future
1116 # operations will only apply to the one file we checked out. 1116 # operations will only apply to the one file we checked out.
1117 command = ["checkout", "--depth", "empty", self.url, self.checkout_path] 1117 command = ["checkout", "--depth", "empty", self.url, self.checkout_path]
1118 self._Run(command, options, cwd=self._root_dir) 1118 self._Run(command, options, cwd=self._root_dir)
1119 if os.path.exists(os.path.join(self.checkout_path, filename)): 1119 if os.path.exists(os.path.join(self.checkout_path, filename)):
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
1262 new_command.append('--force') 1262 new_command.append('--force')
1263 if command[0] != 'checkout' and scm.SVN.AssertVersion('1.6')[0]: 1263 if command[0] != 'checkout' and scm.SVN.AssertVersion('1.6')[0]:
1264 new_command.extend(('--accept', 'theirs-conflict')) 1264 new_command.extend(('--accept', 'theirs-conflict'))
1265 elif options.manually_grab_svn_rev: 1265 elif options.manually_grab_svn_rev:
1266 new_command.append('--force') 1266 new_command.append('--force')
1267 if command[0] != 'checkout' and scm.SVN.AssertVersion('1.6')[0]: 1267 if command[0] != 'checkout' and scm.SVN.AssertVersion('1.6')[0]:
1268 new_command.extend(('--accept', 'postpone')) 1268 new_command.extend(('--accept', 'postpone'))
1269 elif command[0] != 'checkout' and scm.SVN.AssertVersion('1.6')[0]: 1269 elif command[0] != 'checkout' and scm.SVN.AssertVersion('1.6')[0]:
1270 new_command.extend(('--accept', 'postpone')) 1270 new_command.extend(('--accept', 'postpone'))
1271 return new_command 1271 return new_command
OLDNEW
« no previous file with comments | « gclient.py ('k') | gclient_utils.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698