mirror of
https://gerrit.googlesource.com/git-repo
synced 2026-05-31 23:19:52 +00:00
command: Move smart sync override logic to Command base class
Deduplicate the logic for loading `smart_sync_override.xml` by moving it from `forall.py` to the `Command` base class. This allows other commands to reuse it to respect smart tags. Bug: 279204331 Change-Id: I6f2f03995266c2a68c3225cacb92b2f580a89178 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/582502 Tested-by: Gavin Mak <gavinmak@google.com> Commit-Queue: Gavin Mak <gavinmak@google.com> Reviewed-by: Mike Frysinger <vapier@google.com>
This commit is contained in:
committed by
gerrit-scoped@luci-project-accounts.iam.gserviceaccount.com
parent
0129ac1c46
commit
d453273f06
+16
@@ -516,6 +516,22 @@ class Command:
|
||||
)
|
||||
return result
|
||||
|
||||
def GetSmartSyncOverridePath(self, manifest=None) -> str:
|
||||
"""Return the path where smart sync writes its override manifest."""
|
||||
if manifest is None:
|
||||
manifest = self.manifest
|
||||
return os.path.join(
|
||||
manifest.manifestProject.worktree, "smart_sync_override.xml"
|
||||
)
|
||||
|
||||
def TryOverrideManifestWithSmartSync(self, manifest=None) -> None:
|
||||
"""Override manifest with smart_sync_override.xml if it exists."""
|
||||
if manifest is None:
|
||||
manifest = self.manifest
|
||||
smart_sync_manifest_path = self.GetSmartSyncOverridePath(manifest)
|
||||
if os.path.isfile(smart_sync_manifest_path):
|
||||
manifest.Override(smart_sync_manifest_path)
|
||||
|
||||
def ManifestList(self, opt):
|
||||
"""Yields all of the manifests to traverse.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user