Hi Marcin,
I notice you've created a number of shell scripts to manage checking out multiple git repositories, specific revisions of git repositories for a release, etc. Repo [1] does this stuff pretty well that you might want to consider as an eventual alternative.
1. https://gerrit.googlesource.com/git-repo/+/stable
Here's one example of a Repo manifest for an OpenEmbedded-based project, albeit with extra packages thrown in. You can ignore the things with a path outside of oe-core.
https://www.codeaurora.org/gitweb/quic/le/?p=mdm/manifest.git%3Ba=blob%3Bf=c...
Once you've got a git repository the with manifest file, the usage mechanics are something along the lines of downloading repo itself if not already available [2], passing the manifest repository's URL (can be local) to repo init, and then running repo sync to clone all the repositories from the source URLs to the destination paths at the revisions specified in the manifest file.
2. http://source.android.com/source/downloading.html
Regards, Christopher