init: Add --no-clone-bundle option
Bug: Issue 218
Change-Id: I42ba1f5fb9168875da0df6bdf4fe44c8d6498d54
diff --git a/repo b/repo
index ebd12c6..5e619ae 100755
--- a/repo
+++ b/repo
@@ -196,6 +196,9 @@
help='restrict manifest projects to ones with a specified '
'platform group [auto|all|none|linux|darwin|...]',
metavar='PLATFORM')
+group.add_option('--no-clone-bundle',
+ dest='no_clone_bundle', action='store_true',
+ help='disable use of /clone.bundle on HTTP/HTTPS')
# Tool
@@ -339,7 +342,7 @@
can_verify = True
dst = os.path.abspath(os.path.join(repodir, S_repo))
- _Clone(url, dst, opt.quiet)
+ _Clone(url, dst, opt.quiet, not opt.no_clone_bundle)
if can_verify and not opt.no_repo_verify:
rev = _Verify(dst, branch, opt.quiet)
@@ -577,7 +580,7 @@
os.remove(path)
-def _Clone(url, local, quiet):
+def _Clone(url, local, quiet, clone_bundle):
"""Clones a git repository to a new subdirectory of repodir
"""
try:
@@ -607,7 +610,7 @@
_SetConfig(local,
'remote.origin.fetch',
'+refs/heads/*:refs/remotes/origin/*')
- if _DownloadBundle(url, local, quiet):
+ if clone_bundle and _DownloadBundle(url, local, quiet):
_ImportBundle(local)
_Fetch(url, local, 'origin', quiet)