Always fetch the specific revision given

Don't assume the revision is in refs/heads/.

Change-Id: I1f71be222ed3ed940d2265aad43d1f2d601fc03a
diff --git a/project.py b/project.py
index e501cc2..fdd9618 100644
--- a/project.py
+++ b/project.py
@@ -1817,14 +1817,14 @@
     elif tag_name is not None:
       spec.append('tag')
       spec.append(tag_name)
-    else:
-      branch = self.revisionExpr
-      if is_sha1:
-        branch = self.upstream
-      if branch is not None and branch.strip():
-        if not branch.startswith('refs/'):
-          branch = R_HEADS + branch
-        spec.append(str((u'+%s:' % branch) + remote.ToLocal(branch)))
+
+    branch = self.revisionExpr
+    if is_sha1:
+      branch = self.upstream
+    if branch is not None and branch.strip():
+      if not branch.startswith('refs/'):
+        branch = R_HEADS + branch
+      spec.append(str((u'+%s:' % branch) + remote.ToLocal(branch)))
     cmd.extend(spec)
 
     shallowfetch = self.config.GetString('repo.shallowfetch')