Преглед на файлове

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
Shawn Pearce преди 12 години
родител
ревизия
69e04d8953
променени са 1 файла, в които са добавени 7 реда и са изтрити 4 реда
  1. 7 4
      project.py

+ 7 - 4
project.py

@@ -1593,6 +1593,13 @@ class Project(object):
         # 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 @@ class Project(object):
 
     # 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)