Only fetch current branch on shallow clients

Fetching a new branch on a shallow client may download the entire
project history, as the depth parameter is not passed to git
fetch. Force the fetch to only download the current branch.

Change-Id: Ie17ce8eb5e3487c24d90b2cae8227319dea482c8
diff --git a/project.py b/project.py
index dec21ab..a6a8860 100644
--- a/project.py
+++ b/project.py
@@ -1593,6 +1593,13 @@
         # There is no such persistent revision. We have to fetch it.
         return False
 
+    if self.clone_depth:
+      depth = self.clone_depth
+    else:
+      depth = self.manifest.manifestProject.config.GetString('repo.depth')
+    if depth:
+      current_branch_only = True
+
     if current_branch_only:
       if ID_RE.match(self.revisionExpr) is not None:
         is_sha1 = True
@@ -1656,10 +1663,6 @@
 
     # The --depth option only affects the initial fetch; after that we'll do
     # full fetches of changes.
-    if self.clone_depth:
-      depth = self.clone_depth
-    else:
-      depth = self.manifest.manifestProject.config.GetString('repo.depth')
     if depth and initial:
       cmd.append('--depth=%s' % depth)