From 3073a9004606eec6e3eff8a6e3260b81cd8f4e02 Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt Date: Sat, 8 Nov 2025 06:42:53 +0100 Subject: manifest: Propagate revision attribute through multiple levels of include Make sure a revision attribute for an include element is propagated through multiple levels of manifest includes. Change-Id: If37d65b0cd47da673719976598175d0eb6b7cbbe Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/525341 Reviewed-by: Mike Frysinger Tested-by: Peter Kjellerstedt Commit-Queue: Peter Kjellerstedt Reviewed-by: Gavin Mak --- manifest_xml.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'manifest_xml.py') diff --git a/manifest_xml.py b/manifest_xml.py index 2d476748..0e899e5a 100644 --- a/manifest_xml.py +++ b/manifest_xml.py @@ -1305,6 +1305,14 @@ https://gerrit.googlesource.com/git-repo/+/HEAD/docs/manifest-format.md nodes = [] for node in manifest.childNodes: + if ( + parent_node + and node.nodeName in ("include", "project") + and not node.hasAttribute("revision") + ): + node.setAttribute( + "revision", parent_node.getAttribute("revision") + ) if node.nodeName == "include": name = self._reqatt(node, "name") if restrict_includes: @@ -1349,14 +1357,6 @@ https://gerrit.googlesource.com/git-repo/+/HEAD/docs/manifest-format.md node.getAttribute("groups") ) node.setAttribute("groups", ",".join(sorted(nodeGroups))) - if ( - parent_node - and node.nodeName == "project" - and not node.hasAttribute("revision") - ): - node.setAttribute( - "revision", parent_node.getAttribute("revision") - ) nodes.append(node) return nodes -- cgit v1.2.3-54-g00ecf