mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
manifest: Support ignoring local manifests with 'repo manifest'
Currently users need to look up the baseline manifest by loading the specific manifest file. This exposes them to the internals of how the manifest is stored which may potentially be fragile (eg: It was switched from a symlink pointing at the file in the report to an actual file with an 'include' tag). Instead of doing this, we can provide an option to the 'repo manifest' command which will emit the baseline manifest and decouple users from the internal manifest details. Change-Id: I12ee9160feaa591484ae71f404bc529be500ae4e Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/311202 Tested-by: Michael Kelly <mkelly@arista.com> Reviewed-by: Mike Frysinger <vapier@google.com>
This commit is contained in:
parent
0a1f533e28
commit
c34b91c9d8
@ -625,6 +625,13 @@ https://gerrit.googlesource.com/git-repo/+/HEAD/docs/manifest-format.md
|
|||||||
'repo.partialcloneexclude') or ''
|
'repo.partialcloneexclude') or ''
|
||||||
return set(x.strip() for x in exclude.split(','))
|
return set(x.strip() for x in exclude.split(','))
|
||||||
|
|
||||||
|
@property
|
||||||
|
def UseLocalManifests(self):
|
||||||
|
return self._load_local_manifests
|
||||||
|
|
||||||
|
def SetUseLocalManifests(self, value):
|
||||||
|
self._load_local_manifests = value
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def HasLocalManifests(self):
|
def HasLocalManifests(self):
|
||||||
return self._load_local_manifests and self.local_manifests
|
return self._load_local_manifests and self.local_manifests
|
||||||
|
@ -70,6 +70,8 @@ to indicate the remote ref to push changes to via 'repo upload'.
|
|||||||
help='output manifest in JSON format (experimental)')
|
help='output manifest in JSON format (experimental)')
|
||||||
p.add_option('--pretty', default=False, action='store_true',
|
p.add_option('--pretty', default=False, action='store_true',
|
||||||
help='format output for humans to read')
|
help='format output for humans to read')
|
||||||
|
p.add_option('--no-local-manifests', default=False, action='store_true',
|
||||||
|
dest='ignore_local_manifests', help='ignore local manifests')
|
||||||
p.add_option('-o', '--output-file',
|
p.add_option('-o', '--output-file',
|
||||||
dest='output_file',
|
dest='output_file',
|
||||||
default='-',
|
default='-',
|
||||||
@ -85,6 +87,9 @@ to indicate the remote ref to push changes to via 'repo upload'.
|
|||||||
fd = sys.stdout
|
fd = sys.stdout
|
||||||
else:
|
else:
|
||||||
fd = open(opt.output_file, 'w')
|
fd = open(opt.output_file, 'w')
|
||||||
|
|
||||||
|
self.manifest.SetUseLocalManifests(not opt.ignore_local_manifests)
|
||||||
|
|
||||||
if opt.json:
|
if opt.json:
|
||||||
print('warning: --json is experimental!', file=sys.stderr)
|
print('warning: --json is experimental!', file=sys.stderr)
|
||||||
doc = self.manifest.ToDict(peg_rev=opt.peg_rev,
|
doc = self.manifest.ToDict(peg_rev=opt.peg_rev,
|
||||||
|
Loading…
Reference in New Issue
Block a user