Hacker News new | past | comments | ask | show | jobs | submit login

Never is a bit strong.

They definitely have flaws, and as usual Git goes out of its way to make the UX extra awful (why isn't --recursive the default??!). But they are pretty great for third party dependencies that you might need to patch a bit, especially if you can't use something like Cargo (or don't want to set up a private registry etc.)

But git subtree has massive flaws too. You squash by default so you lose all git blame support. It's way more janky to pull from remotes and submit patches etc. You have to manually ensure you separate changes to the subtree out into different commits.

Honestly I think no existing solution is very good. A monorepo plus submodules for external dependencies is probably the best option at the moment.

Really Git could do a lot to make submodules better, but I guess - like LFS - if the kernel developers don't need it then screw you we're not putting any effort into it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: