Move local-manifest check to manifest_xml.py
This removes the need for git_superproject to include manifest_xml, and
puts the logic for local_manifest detection in one place.
Change-Id: I4d33ded0542ceea4606a1ea24304f678de20c59e
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/330499
Tested-by: LaMont Jones <lamontjones@google.com>
Reviewed-by: Raman Tenneti <rtenneti@google.com>
diff --git a/git_superproject.py b/git_superproject.py
index 4ca84a5..237e57e 100644
--- a/git_superproject.py
+++ b/git_superproject.py
@@ -32,7 +32,6 @@
from git_command import git_require, GitCommand
from git_config import RepoConfig
from git_refs import R_HEADS
-from manifest_xml import LOCAL_MANIFEST_GROUP_PREFIX
_SUPERPROJECT_GIT_NAME = 'superproject.git'
_SUPERPROJECT_MANIFEST_NAME = 'superproject_override.xml'
@@ -311,7 +310,7 @@
if project.revisionId:
return True
# Skip the project if it comes from the local manifest.
- return any(s.startswith(LOCAL_MANIFEST_GROUP_PREFIX) for s in project.groups)
+ return project.manifest.IsFromLocalManifest(project)
def UpdateProjectsRevisionId(self, projects):
"""Update revisionId of every project in projects with the commit id.
diff --git a/manifest_xml.py b/manifest_xml.py
index daf85d3..7c5906d 100644
--- a/manifest_xml.py
+++ b/manifest_xml.py
@@ -650,6 +650,12 @@
def HasLocalManifests(self):
return self._load_local_manifests and self.local_manifests
+ def IsFromLocalManifest(self, project):
+ """Is the project from a local manifest?
+ """
+ return any(x.startswith(LOCAL_MANIFEST_GROUP_PREFIX)
+ for x in project.groups)
+
@property
def IsMirror(self):
return self.manifestProject.config.GetBoolean('repo.mirror')