<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tools/git-repo.git/tests/test_manifest_xml.py, branch v2.61.1</title>
<subtitle>Mirror of gerrit.googlesource.com/git-repo</subtitle>
<id>https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.61.1</id>
<link rel='self' href='https://git.enea.com/cgit/tools/git-repo.git/atom?h=v2.61.1'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/'/>
<updated>2026-01-15T18:27:32+00:00</updated>
<entry>
<title>manifest_xml: prevent extend-project from inheriting local groups</title>
<updated>2026-01-15T18:27:32+00:00</updated>
<author>
<name>Gavin Mak</name>
<email>gavinmak@google.com</email>
</author>
<published>2026-01-14T22:14:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=3c0e67bbc5f7c3849919735db4bfd7e66190f80c'/>
<id>urn:sha1:3c0e67bbc5f7c3849919735db4bfd7e66190f80c</id>
<content type='text'>
When extending a project in a local manifest, the project inherits the
`local:` group. This causes the superproject override logic (which omits
projects with `local:` groups) to incorrectly exclude the project from
the override manifest. This leads to "extend-project element specifies
non-existent project" errors during sync reload.

Fix this by stripping `local:` groups from extended projects, ensuring
they remain visible to superproject overrides while still allowing other
inherited groups to persist.

Bug: 470374343
Change-Id: I1a057ebffebc11a19dc14dde7cc13b9f18cdd0a3
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/543222
Reviewed-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>Rename XmlManifest.GetGroupsStr() to XmlManifest.GetManifestGroupsStr()</title>
<updated>2025-12-03T15:57:22+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>pkj@axis.com</email>
</author>
<published>2025-11-18T19:13:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=2b6de52a36d5d38c7b9a92d7f61e1f0daf4dec69'/>
<id>urn:sha1:2b6de52a36d5d38c7b9a92d7f61e1f0daf4dec69</id>
<content type='text'>
This makes it more clear what kind of groups it refers to.

Change-Id: I47369050d1436efcc77f3a69d5b7c99a536b23bc
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/528462
Tested-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>manifest: Propagate revision attribute through multiple levels of include</title>
<updated>2025-11-26T10:08:44+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>pkj@axis.com</email>
</author>
<published>2025-11-08T05:42:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=3073a9004606eec6e3eff8a6e3260b81cd8f4e02'/>
<id>urn:sha1:3073a9004606eec6e3eff8a6e3260b81cd8f4e02</id>
<content type='text'>
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 &lt;vapier@google.com&gt;
Tested-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Commit-Queue: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>manifest, project: Store project groups as sets</title>
<updated>2025-11-26T10:08:07+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>pkj@axis.com</email>
</author>
<published>2025-11-08T01:36:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=75773b8b9d265bc8ef113586be5c3e2d36250983'/>
<id>urn:sha1:75773b8b9d265bc8ef113586be5c3e2d36250983</id>
<content type='text'>
This helps a lot when including common manifests with groups and they
use extend-project.

Change-Id: Ic574e7d6696139d0eb90d9915e8c7048d5e89c07
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/525323
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Tested-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Commit-Queue: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
</content>
</entry>
<entry>
<title>project: Use dicts to keep track of copyfiles and linkfiles</title>
<updated>2025-11-26T10:07:35+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>pkj@axis.com</email>
</author>
<published>2025-11-07T23:06:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=412367bfafd9de014cfeb37475e0f97b1f6a2509'/>
<id>urn:sha1:412367bfafd9de014cfeb37475e0f97b1f6a2509</id>
<content type='text'>
This avoids copying/linking the same file/link multiple times if a
copyfile/linkfile element with the same values has been specifed
multiple times. This can happen when including a common manifest that
uses an extend-project element that has a copyfile/linkfile element.

This uses dicts rather than sets to store the copyfiles and linkfiles to
make sure the order they are specified in the manifest is maintained.
For Python 3.7+, maintaining the order that keys are added to dicts is
guaranteed, and for Python 3.6 it happened to be true.

The _CopyFile class and the _LinkFile class are changed to inherit from
NamedTuple to be able to store them in dicts.

Change-Id: I9f5a80298b875251a81c5fe7d353e262d104fae4
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/525322
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Tested-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Commit-Queue: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
</content>
</entry>
<entry>
<title>manifest: Make include groups propagate to extend-project elements</title>
<updated>2025-11-26T10:05:48+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>pkj@axis.com</email>
</author>
<published>2025-11-07T22:09:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=47c24b5c4092ce397c94c05d8686c8bcac64fbb2'/>
<id>urn:sha1:47c24b5c4092ce397c94c05d8686c8bcac64fbb2</id>
<content type='text'>
Any groups specified to an include element should propagate to any
extend-project elements and then on to the projects.

Change-Id: I62b95689cc13660858564ae569cbfd095961ecc7
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/525321
Tested-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Commit-Queue: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>tests: manifest_xml: convert most path usage to pathlib</title>
<updated>2025-11-11T18:58:51+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2025-11-11T08:40:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=5998c0b50612af80c8a710b79692313e7f84c64a'/>
<id>urn:sha1:5998c0b50612af80c8a710b79692313e7f84c64a</id>
<content type='text'>
Should be functionally the same, but with pathlib APIs that we've
been slowly adopting in other places, especially unittests.

Change-Id: I81364117f8eaeaf138097cdfc484d4848b7ea5bd
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/525881
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>manifest: Make extend-project support copyfile, linkfile and annotation</title>
<updated>2025-10-27T18:38:07+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>pkj@axis.com</email>
</author>
<published>2025-10-16T18:29:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=4ab2284a945d82b017c6646fca57c5973ffdabaf'/>
<id>urn:sha1:4ab2284a945d82b017c6646fca57c5973ffdabaf</id>
<content type='text'>
This allows an existing project to be extended by these elements.

Change-Id: I6826e518f39ca86485301491639101943b7e2ae0
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/519781
Reviewed-by: Mike Frysinger &lt;vapier@google.com&gt;
Tested-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
</content>
</entry>
<entry>
<title>black: update to v25</title>
<updated>2025-03-25T18:20:35+00:00</updated>
<author>
<name>Mike Frysinger</name>
<email>vapier@google.com</email>
</author>
<published>2025-03-25T16:53:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=cd391e77d0462b2768f4f5deb5954a6f456047e9'/>
<id>urn:sha1:cd391e77d0462b2768f4f5deb5954a6f456047e9</id>
<content type='text'>
Requires a little reformatting in the tree.

Change-Id: Iaa40fe0dfca372c49c04cc26edccb5f7b0c2a8ad
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/462883
Commit-Queue: Mike Frysinger &lt;vapier@google.com&gt;
Reviewed-by: Gavin Mak &lt;gavinmak@google.com&gt;
Tested-by: Mike Frysinger &lt;vapier@google.com&gt;
</content>
</entry>
<entry>
<title>manifest: add optional base check on remove and extend</title>
<updated>2024-10-28T16:55:10+00:00</updated>
<author>
<name>Fredrik de Groot</name>
<email>fredrik.de.groot@haleytek.com</email>
</author>
<published>2024-09-09T13:54:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/tools/git-repo.git/commit/?id=303bd963d57936873f62c7b61a885911afc46788'/>
<id>urn:sha1:303bd963d57936873f62c7b61a885911afc46788</id>
<content type='text'>
This adds an optional, built-in checker for
guarding against patches hanging on wrong
base revisions, which is useful if a lower layer of
the manifest changes after a patch was done.

When adding a patch with a new revision using
extend-project or remove-project/project:

          C---D---E patches in project bla
         /
    A---B project bla in manifest state 1

&lt;extend-project name="bla" revision="E" base-rev="B"&gt;

If project bla gets updated, in a new snap ID
or by a supplier or similar, to a new state:

          C---D---E patches in project bla
         /
    A---B---F---G project bla in manifest state 2

Parsing will fail because revision of bla is now G,
giving the choice to create a new patch branch
from G and updating base-rev, or keeping previous
branch for some reason and only updating base-rev.

Intended for use in a layered manifest with
hashed revisions. Named refs like branches and tags
also work fine when comparing, but will be misleading
if a branch is used as base-rev.

Change-Id: Ic6211550a7d3cc9656057f6a2087c505b40cad2b
Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/436777
Reviewed-by: Josip Sokcevic &lt;sokcevic@google.com&gt;
Tested-by: Fredrik de Groot &lt;fredrik.de.groot@haleytek.com&gt;
Commit-Queue: Josip Sokcevic &lt;sokcevic@google.com&gt;
</content>
</entry>
</feed>
