They have their use and it's not that hard once you figure out the exact sequence of git commands to use (but that applies to all of git)
They have their use and it's not that hard once you figure out the exact sequence of git commands to use (but that applies to all of git)
Anyway, any git article saying “throwing everything away is the only way to recover” I know it’s not a good article…
`git config --global submodule.recurse true`
Having to set a configuration option to make submodules work is another example of the feature being unfinished.
Everyone has to learn what they can do and what to avoid.
We use the to build our whole system out of one commit, although we have several repos. We made the artificial rule that a commit that updates a submodule must not contain any other changes. It has reduced the number of problems especially related to rebasing.
In short: once I learned and documented the checkout/update/reset commands, I was set.
The other “issues” were that they require extra config in some cases (CI), but again it’s just 2 lines in most cases.
You will incur thousands or tens of thousands of dollars in additional costs by using submodules, via wasted developer time.
If the tool is right, you generate buy-in. If you don't, then either it isn't that good or you're not good at generating buy-in.
I think we are saying the same thing in different words. I don't hate most things. I don't have an opinion on most things. I am pretty indifferent about those things. I don't hate git submodules. However, I think we should at least hear out the concerns of people who hate git submodules. If you still want to use git submodules, then at least you've made an educated decision.
Really silly example: not indenting your code is universally seen as bad. But there are both people hating tabs, and there are people hating spaces.