From a32c92c206ad02f473cfa9558d4eac8f0fc738a8 Mon Sep 17 00:00:00 2001 From: YOUNG HO CHA Date: Wed, 14 Feb 2018 16:57:31 +0900 Subject: implement optional 'sync-tags' in the manifest file Allow the 'default' and 'project' element in the manifest file to apply "--no-tags" option equivalent. Change-Id: I7e0f8c17a0e25cca744d45df049076d203c52ff5 Signed-off-by: YOUNG HO CHA --- manifest_xml.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'manifest_xml.py') diff --git a/manifest_xml.py b/manifest_xml.py index 9b5d7847..0654222e 100644 --- a/manifest_xml.py +++ b/manifest_xml.py @@ -63,6 +63,7 @@ class _Default(object): sync_j = 1 sync_c = False sync_s = False + sync_tags = True def __eq__(self, other): return self.__dict__ == other.__dict__ @@ -238,6 +239,9 @@ class XmlManifest(object): if d.sync_s: have_default = True e.setAttribute('sync-s', 'true') + if not d.sync_tags: + have_default = True + e.setAttribute('sync-tags', 'false') if have_default: root.appendChild(e) root.appendChild(doc.createTextNode('')) @@ -327,6 +331,9 @@ class XmlManifest(object): if p.sync_s: e.setAttribute('sync-s', 'true') + if not p.sync_tags: + e.setAttribute('sync-tags', 'false') + if p.clone_depth: e.setAttribute('clone-depth', str(p.clone_depth)) @@ -702,6 +709,12 @@ class XmlManifest(object): d.sync_s = False else: d.sync_s = sync_s.lower() in ("yes", "true", "1") + + sync_tags = node.getAttribute('sync-tags') + if not sync_tags: + d.sync_tags = True + else: + d.sync_tags = sync_tags.lower() in ("yes", "true", "1") return d def _ParseNotice(self, node): @@ -796,6 +809,12 @@ class XmlManifest(object): else: sync_s = sync_s.lower() in ("yes", "true", "1") + sync_tags = node.getAttribute('sync-tags') + if not sync_tags: + sync_tags = self._default.sync_tags + else: + sync_tags = sync_tags.lower() in ("yes", "true", "1") + clone_depth = node.getAttribute('clone-depth') if clone_depth: try: @@ -841,6 +860,7 @@ class XmlManifest(object): groups = groups, sync_c = sync_c, sync_s = sync_s, + sync_tags = sync_tags, clone_depth = clone_depth, upstream = upstream, parent = parent, -- cgit v1.2.3-54-g00ecf