Remix.run Logo
Git Submodules as a Package Manager(nesbitt.io)
18 points by ErenayDev 4 days ago | 3 comments
unqueued 37 minutes ago | parent | next [-]

FYI 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 an hour ago | parent | prev | next [-]

I 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 an hour ago | parent | prev [-]

I just have a feeling the developer-experience wouldn't be the same - but that's just a temporary issue perhaps?