Giving submodules a special set of git commands, and providing the users so many easy opportunities to shoot themselves in the foot are baffling design decisions though.
E.g. I'd really like to know why "git clone --recursive" isn't the default.
Giving submodules a special set of git commands, and providing the users so many easy opportunities to shoot themselves in the foot are baffling design decisions though.
E.g. I'd really like to know why "git clone --recursive" isn't the default.
Now when running Python creates pycache-folders in the submodules and other stuff in the directories sometimes changes a bit while running.
When it comes to updating the plugins-submodule, I have to go through every sub-submodule and git clean it and reset it so that I can pin a new version for the submodule, and then update all sub-submodules. Mind you, I have not found it easier to delete the whole submodule-tree and re-initialise it.
The question I would ask is, whether this should be necessary to pin the version of some project dependency? That's basically all we're talking about here.
I'm more on board with the recursive options, though.
Are the Git maintainers so stringent on maintaining backwards compatibility that the implementation of submodules has remained in such a dire state for so long? I find it hard to believe that a VCS this widely adopted would fall over so easily for this relatively popular use case.
git config --global submodule.recurse true