git-repo regression starting in v2.13 - invalid "path" - bad component: ..

56 views
Skip to first unread message

Adam Romanek

unread,
Mar 9, 2022, 8:37:16 AM3/9/22
to Repo and Gerrit Discussion
Hi everyone!

In our company we're currently using repo v2.5. We pinned this tag at some point to reduce the number of moving parts in our CI environment which was quite unstable at that time.

Recently we realized that our manifests no longer work with repo v2.13+. When doing repo init we get:

...
  File "/home/adam/tmp/repo-manifests-issue-13/.repo/repo/manifest_xml.py", line 1014, in _ParseProject
    '<project> invalid "path": %s: %s' % (path, msg))
error.ManifestInvalidPathError: <project> invalid "path": ../git-repo-manifest-issue: bad component: ..


Reproduction steps:

# make sure we're running in a clean, empty directory
$ mkdir test && cd $_
$ repo init -u https://github.com/romanek-adam/git-repo-manifest-issue.git -m manifest.xml -b master --repo-rev=v2.13

I determined that the breaking change was introduced in commit manifest: validate project name & path and include name attributes.

This is huge problem for us as we have tens of manifests and we can't easily move  the projects around - other parts of the build system heavily rely on the currently layout of the projects, changing that would be a nightmare. Also we can't change the paths to be relative to the current directory and then simply use symbolic links in the parent folder - this won't work too.

Would it be possible to restore the original behavior and allow paths starting with ".."?

Best,
Adam Romanek
Reply all
Reply to author
Forward
0 new messages