gitsm fetcher dead locks if submodule is self-referencing. The fetcher creates lock/done files in DL/git2 folder. Due to this design, it cannot handle repositories where submodule is a specific revision of the the parent repo. As an example where a dead lock will happen, consider the following repository, https://github.com/gflags/gflags, where the doc folder is submodule of the parent repository.
We should add a check to avoid the deadlock.
https://lists.openembedded.org/g/bitbake-devel/message/13934
Resolved in https://git.openembedded.org/bitbake/commit/?id=0361ecf7eb82c386a9842cf1f3cb706c0a112e77 Test case added to cover possible regressions.
This patch breaks cases where the parent repo matches the submodule except the submodule has additional chars to the repo name. E.g. parent is alpha and submodule is alpha-keys will now fail because the patch only looks at alpha not the end line, even though they are valid different repositories.
See Jonathan's comment.
https://lists.openembedded.org/g/bitbake-devel/message/14076
Should be fixed by https://git.openembedded.org/bitbake/commit/?id=3ad27272c18f2bb9edd441f840167a3dabd5407b
Thanks for the help Pavel!