mirror of
https://github.com/Dev-Wiki/git-repo.git
synced 2025-12-14 00:24:05 +08:00
Add sync-c option to manifest
There are use-cases when fetching all branch is impractical and we really need to fetch only one branch/tag. e.g. there is a large project with binaries and every update of a binary file is put to a separate branch. The whole project history might be too large to allow users fetch it. Add 'sync-c' option to 'project' and 'default' tags to make it possible to configure 'sync-c' behavior at per-project and per-manifest level. Note that currently there is no possibility to revert boolean flag from command line. If 'sync-c' is set in manifest then you cannot make full fetch by providing a repo tool argument. Change-Id: Ie36fe5737304930493740370239403986590f593
This commit is contained in:
@@ -510,7 +510,8 @@ class Project(object):
|
||||
revisionExpr,
|
||||
revisionId,
|
||||
rebase = True,
|
||||
groups = None):
|
||||
groups = None,
|
||||
sync_c = False):
|
||||
self.manifest = manifest
|
||||
self.name = name
|
||||
self.remote = remote
|
||||
@@ -531,6 +532,7 @@ class Project(object):
|
||||
|
||||
self.rebase = rebase
|
||||
self.groups = groups
|
||||
self.sync_c = sync_c
|
||||
|
||||
self.snapshots = {}
|
||||
self.copyfiles = []
|
||||
@@ -964,6 +966,7 @@ class Project(object):
|
||||
and self._ApplyCloneBundle(initial=is_new, quiet=quiet):
|
||||
is_new = False
|
||||
|
||||
current_branch_only = current_branch_only or self.sync_c or self.manifest.default.sync_c
|
||||
if not self._RemoteFetch(initial=is_new, quiet=quiet, alt_dir=alt_dir,
|
||||
current_branch_only=current_branch_only):
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user