Subrepository - Mercurial. Quite embarrassing, what one keeps discovering and realizing that one should have been using it for a long time, but doesn't. Especially the tip with the "shallow main repository" sounds good, that could simplify some of the organizations of my projects. So far, I have rejected subrepositories precisely because of the fixed connection of the large main project with the library projects, since I use completely different external branches (i.e., repositories) for different environments and, for example, do not want to push my dependencies from the maintenance environment into production. With a shallow main repository per environment, on the other hand, I could cleanly separate the relationships and still document at a central point how the dependencies of the various repositories are represented. And yes, all of this here is just a note for myself, if you don't understand it, just ignore it, colorful pictures will definitely come again soon.