Allow gclient sync to overwrite untracked files when moving detached git HEAD.

Do it only when both --force and --delete_unversioned_trees are specified.

BUG=386878
R=iannucci@chromium.org

Review URL: https://codereview.chromium.org/334633004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@278770 0039d316-1c4b-4281-b951-d872f2087c98
changes/01/332501/1
vadimsh@chromium.org 11 years ago
parent 8a13970ea2
commit 2b7d3ed286

@ -497,6 +497,11 @@ class GitWrapper(SCMWrapper):
self._CheckDetachedHead(rev_str, options) self._CheckDetachedHead(rev_str, options)
if self._Capture(['rev-list', '-n', '1', 'HEAD']) == revision: if self._Capture(['rev-list', '-n', '1', 'HEAD']) == revision:
self.Print('Up-to-date; skipping checkout.') self.Print('Up-to-date; skipping checkout.')
else:
# 'git checkout' may need to overwrite existing untracked files. Allow
# it only when nuclear options are enabled.
if options.force and options.delete_unversioned_trees:
self._Capture(['checkout', '--force', '--quiet', '%s' % revision])
else: else:
self._Capture(['checkout', '--quiet', '%s' % revision]) self._Capture(['checkout', '--quiet', '%s' % revision])
if not printed_path: if not printed_path:

Loading…
Cancel
Save