Do not try to fetch default revision for mirrors always

* Mirrors may contain multiple projects, some of which may not
  always contain the default revision.
* Only fetch the default revision explicitly if
  '--current-branch' is set.
* Fixes breakage casued by
  commit 6856f98467aa5c98085cdee02587dbab984cebb1
  "Fix repo mirror with --current-branch"

Bug: https://crbug.com/gerrit/12274
Change-Id: Iaafabe2992f76f3644b841f24245d3e19c9515a9
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/253093
Reviewed-by: Kuang-che Wu <kcwu@chromium.org>
Reviewed-by: Mike Frysinger <vapier@google.com>
Tested-by: Chirayu Desai <chirayudesai1@gmail.com>
(cherry picked from commit f7b64e3350a622ee87e1927cdbc8d854a5696d85)
diff --git a/project.py b/project.py
index d12d466..281ba4b 100755
--- a/project.py
+++ b/project.py
@@ -2252,7 +2252,10 @@
       spec.append('tag')
       spec.append(tag_name)
 
-    branch = self.revisionExpr
+    if self.manifest.IsMirror and not current_branch_only:
+      branch = None
+    else:
+      branch = self.revisionExpr
     if (not self.manifest.IsMirror and is_sha1 and depth
         and git_require((1, 8, 3))):
       # Shallow checkout of a specific commit, fetch from that commit and not