Use reset --soft to squash before dcomitting.

Using reset --soft doesn't require touching the working copy, so it should be faster and not require rebuilds.

BUG=none
TEST=none

Review URL: http://codereview.chromium.org/6575031

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@77267 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/git_cl/git_cl.py b/git_cl/git_cl.py
index a89b1e7..ec3bd97 100644
--- a/git_cl/git_cl.py
+++ b/git_cl/git_cl.py
@@ -967,8 +967,8 @@
 
   # We want to squash all this branch's commits into one commit with the
   # proper description.
-  # We do this by doing a "merge --squash" into a new commit branch, then
-  # dcommitting that.
+  # We do this by doing a "reset --soft" to the base branch (which keeps
+  # the working copy the same), then dcommitting that.
   MERGE_BRANCH = 'git-cl-commit'
   # Delete the merge branch if it already exists.
   if RunGitWithCode(['show-ref', '--quiet', '--verify',
@@ -987,8 +987,8 @@
   # we clean up the branches.
   retcode = -1
   try:
-    RunGit(['checkout', '-q', '-b', MERGE_BRANCH, base_branch])
-    RunGit(['merge', '--squash', cl.GetBranchRef()])
+    RunGit(['checkout', '-q', '-b', MERGE_BRANCH])
+    RunGit(['reset', '--soft', base_branch])
     if options.contributor:
       RunGit(['commit', '--author', options.contributor, '-m', description])
     else: