Git Submodules as a Package Manager
nesbitt.io - 30 poäng - 4 kommentarer - 332406 sekunder sedan
Kommentarer (5)
- unqueued - 7554 sekunder sedanFYI A submodule doesn't have to use a gitfile and a corresponding `$GIT_DIR/modules/<name>` and there are good reasons not to. As long as the submodule has a '.git' it can be a symlink, or regular .git directory for a self contained embedded repo. You can still use the same gitlink in the parent repo representing it's commit id and git will still manage it.
If I have a 20GB submodule I'd usually just do a `git clone <url> <path> && git submodule add <path>` and it will be treated the same by git. But now I can just delete it and it's purged. And it is more portable less fragile in some ways because it's not de-referencing a gitfile. I prefer my repos to be more bottom-heavy and to not clog my modules folder.
I have a rough script that's the inverse of `git submodule absorbgitdirs` but it's a bit fragile.
It would be cool if there was some plumbing to expose this a bit more.
- AlphaSite - 8491 sekunder sedanI know it sa toy, but if someone gets the bright idea to do this for real: please learn from npm and dont duplicate packages for every clone of a project. Share them between projects like every sane package manager.
- orliesaurus - 9268 sekunder sedanI just have a feeling the developer-experience wouldn't be the same - but that's just a temporary issue perhaps?
- bellowsgulch - 1753 sekunder sedanI find https://github.com/andrewmcwattersandco/git-fetch-file more useful. It's manifest is nearly the same as a .gitmodules file, but having specific control over what files you want to pull, or what commit or tag, or just the equivalent of latest is way more practical day-to-day.
- DarmokTanagra - 4754 sekunder sedan[dead]
Nördnytt! 🤓