PSA: Do not put git repos inside other git repos. Git is not a package manager. You will make yourself sad. It doesn't matter how many conceptual primitives they share. Don't do it. Just use a package manager. You don't even need a package repository. You can still download things directly from git repos if you want to. Just list them in a package.json or something, and let npm do it. Or go.mod. Anything.
Please. For your own sake. And everyone who comes after you.
Monorepos are also bad, and you shouldn't do them, and they will make you and everyone who inherits that repo sad. Also angry. But it's still better than putting git repos inside other git repos. If you absolutely cannot manage your dependencies in a structured way, then just do a monorepo.
Please.
I am begging you.
Apparently the hardest problem in computer science is getting people not to put git repos inside other git repos.
By the way, this is not a debate. And it's not a joke. I've already blocked one person for treating it that way. If you disagree with me on this point, you may do it silently, or on your own timeline. I'm not going to let you tell my audience to fabricate pointless toil for themselves and their coworkers. I cannot tell you how serious I am right now. This is literally a safety issue. You will burn people out. They will get hurt. This is the male-male electrical cord, but for software development
@jenniferplusplus I put a git repo in a fossil repo and then put the fossil repo in another git repo.
It was not one of my better ideas.
@jenniferplusplus naming, cache invalidation, and off-by-git-git-git-git-git… (infinity)
@jenniferplusplus for my work, before Swift Package Manager was a thing, I used git submodules. It came with the same level of complexity and pain as embedding git repos.
Never ever doing that again
@jenniferplusplus My company worked on a project where we decided to use git submodules. This was an unfortunate compromise because we wanted the ability to easily fork a project, and its submodules, in the event that we ever need to completely turn source code over to a client.
It wasn’t *bad*, but it was definitely more upkeep than a package manager.
@jenniferplusplus Yo dawg, I heard you like version control, so I put version control inside your version control so you can version control while you version control.
@malcircuit @jenniferplusplus I remember working on a project with git submodules. The correct liturgy of git command incantations were given to each novice of the dark arts.
@jenniferplusplus that checks out