Use --force to reset a git repo before attempting to rebase during gclient sync/update
Patch Contributed By: Nasser Grainawi <nasser@codeaurora.org>
Review URL: http://codereview.chromium.org/548079
git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@37020 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gclient_scm.py b/gclient_scm.py
index 8380b34..955c35d 100644
--- a/gclient_scm.py
+++ b/gclient_scm.py
@@ -213,6 +213,8 @@
self._Run(['remote', 'update'], redirect_stdout=False)
files = self._Run(['diff', new_base, '--name-only']).split()
file_list.extend([os.path.join(self.checkout_path, f) for f in files])
+ if options.force:
+ self._Run(['reset', '--hard', merge_base], redirect_stdout=False)
self._Run(['rebase', '-v', '--onto', new_base, merge_base, cur_branch],
redirect_stdout=False, checkrc=False)