Revert "If managed=False, don't fetch."

This reverts commit 617a1617cff80653d989ffbba597d843d3728a35.

BUG=385417
TBR=hinoka@chromium.org,agable@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@277766 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/gclient_scm.py b/gclient_scm.py
index 1b50abe..26d9658 100644
--- a/gclient_scm.py
+++ b/gclient_scm.py
@@ -356,13 +356,6 @@
       verbose = ['--verbose']
       printed_path = True
 
-    if not managed:
-      self.Print('________ unmanaged solution; skipping %s' % self.relpath)
-      try:
-        return self._Capture(['rev-parse', '--verify', 'HEAD'])
-      except subprocess2.CalledProcessError:
-        return None
-
     url = self._CreateOrUpdateCache(url, options)
 
     if revision.startswith('refs/'):
@@ -396,6 +389,11 @@
         self.Print('')
       return self._Capture(['rev-parse', '--verify', 'HEAD'])
 
+    if not managed:
+      self._UpdateBranchHeads(options, fetch=False)
+      self.Print('________ unmanaged solution; skipping %s' % self.relpath)
+      return self._Capture(['rev-parse', '--verify', 'HEAD'])
+
     # See if the url has changed (the unittests use git://foo for the url, let
     # that through).
     current_url = self._Capture(['config', 'remote.%s.url' % self.remote])