Gclient: Don't check if repository is clean if --force is passed in
Instead just do a git checkout --force, since there are some states that reset cannot fix.
BUG=606420
Review URL: https://codereview.chromium.org/1916973002
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@300176 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gclient_scm.py b/gclient_scm.py
index 9a6f512..79fb6ea 100644
--- a/gclient_scm.py
+++ b/gclient_scm.py
@@ -553,7 +553,9 @@
if current_type == 'detached':
# case 0
- self._CheckClean(rev_str)
+ if not options.force:
+ # Don't do this check if nuclear option is on.
+ self._CheckClean(rev_str)
self._CheckDetachedHead(rev_str, options)
if self._Capture(['rev-list', '-n', '1', 'HEAD']) == revision:
self.Print('Up-to-date; skipping checkout.')
@@ -563,7 +565,7 @@
self._Checkout(
options,
revision,
- force=(options.force and options.delete_unversioned_trees),
+ force=(options.force or options.delete_unversioned_trees),
quiet=True,
)
if not printed_path: