Why your company shouldn’t use Git submodules « Coding Killed the Cat
47 bookmarks. First posted by raphman april 2012.
A programmer had a version control problem and said, “I know, I’ll use submodules.” Now they have two problems.
It is not uncommon at all when working on any kind of larger-scale project with Git to find yourself wanting to share code between multiple different repositories – whether it be some core system among multiple different products built on top of that system, or perhaps a shared utility library between projects.
At first glance, Git submodules seem to be the perfect answer for this: they come built-in with Git, they act like miniature repositories (so people are already familiar with how to change them), et cetera. They even support pointing at specific versions of the shared code, so if one project doesn’t want to deal with integrating the “latest and greatest” version, it doesn’t have to.
It’s after you’ve actually worked with submodules for a while that you start to notice just how half-baked Git’s submodules system really is.
git
It is not uncommon at all when working on any kind of larger-scale project with Git to find yourself wanting to share code between multiple different repositories – whether it be some core system among multiple different products built on top of that system, or perhaps a shared utility library between projects.
At first glance, Git submodules seem to be the perfect answer for this: they come built-in with Git, they act like miniature repositories (so people are already familiar with how to change them), et cetera. They even support pointing at specific versions of the shared code, so if one project doesn’t want to deal with integrating the “latest and greatest” version, it doesn’t have to.
It’s after you’ve actually worked with submodules for a while that you start to notice just how half-baked Git’s submodules system really is.
4 weeks ago by jfentress
A programmer had a version control problem and said, “I know, I’ll use submodules.” Now they have two problems.
It is not uncommon at all when working on any kind of larger-scale project with Git to find yourself wanting to share code between multiple different repositories – whether it be some core system among multiple different products built on top of that system, or perhaps a shared utility library between projects.
At first glance, Git submodules seem to be the perfect answer for this: they come built-in with Git, they act like miniature repositories (so people are already familiar with how to change them), et cetera. They even support pointing at specific versions of the shared code, so if one project doesn’t want to deal with integrating the “latest and greatest” version, it doesn’t have to.
It’s after you’ve actually worked with submodules for a while that you start to notice just how half-baked Git’s submodules system really is.
git
git:submodules
It is not uncommon at all when working on any kind of larger-scale project with Git to find yourself wanting to share code between multiple different repositories – whether it be some core system among multiple different products built on top of that system, or perhaps a shared utility library between projects.
At first glance, Git submodules seem to be the perfect answer for this: they come built-in with Git, they act like miniature repositories (so people are already familiar with how to change them), et cetera. They even support pointing at specific versions of the shared code, so if one project doesn’t want to deal with integrating the “latest and greatest” version, it doesn’t have to.
It’s after you’ve actually worked with submodules for a while that you start to notice just how half-baked Git’s submodules system really is.
5 weeks ago by sechilds
Of course, if you forget to update your submodule to the new version, it’s then quite easy to commit the old submodule version in your next parent repository commit – thus effectively reverting the submodule bump by the other developer. Given that submodule changes only show up as 2 commit lines in a diff, it’s not hard for such a change to slip by (especially if you’re a developer that tends to use git add . or git commit -a most of the time).
git
january 2013 by arnalyse
Push changes from the submodule and not the parent repository? No one knows to use your new submodule changes. Push changes from the parent repository and not the submodule? Congratulations, no one can use your new commits because they don’t have the right submodule commit available to check out.
kb_cpu
git
programming
june 2012 by rootis0
Why your company shouldn’t use Git submodules #ididnotknowthat
ididnotknowthat
from twitter
june 2012 by JimRoepcke
A programmer had a version control problem and said, “I know, I’ll use submodules.” Now they have two problems.
It is not uncommon at all when working on any kind of larger-scale project with Git to find yourself wanting to share code between multiple different repositories – whether it be some core system among multiple different products built on top of that system, or perhaps a shared utility library between projects.
At first glance, Git submodules seem to be the perfect answer for this: they come built-in with Git, they act like miniature repositories (so people are already familiar with how to change them), et cetera. They even support pointing at specific versions of the shared code, so if one project doesn’t want to deal with integrating the “latest and greatest” version, it doesn’t have to.
It’s after you’ve actually worked with submodules for a while that you start to notice just how half-baked Git’s submodules system really is.
Git
It is not uncommon at all when working on any kind of larger-scale project with Git to find yourself wanting to share code between multiple different repositories – whether it be some core system among multiple different products built on top of that system, or perhaps a shared utility library between projects.
At first glance, Git submodules seem to be the perfect answer for this: they come built-in with Git, they act like miniature repositories (so people are already familiar with how to change them), et cetera. They even support pointing at specific versions of the shared code, so if one project doesn’t want to deal with integrating the “latest and greatest” version, it doesn’t have to.
It’s after you’ve actually worked with submodules for a while that you start to notice just how half-baked Git’s submodules system really is.
may 2012 by GameGamer43
The problems with git submodules and alternative tools http://t.co/2FpAbc1s
from instapaper
april 2012 by hiessu
At first glance, Git submodules seem to be the perfect answer for this: they come built-in with Git, they act like miniature repositories (so people are already familiar with how to change them), et cetera. They even support pointing at specific versions of the shared code, so if one project doesn’t want to deal with integrating the “latest and greatest” version, it doesn’t have to.
It’s after you’ve actually worked with submodules for a while that you start to notice just how half-baked Git’s submodules system really is.
git
programming
versionc
It’s after you’ve actually worked with submodules for a while that you start to notice just how half-baked Git’s submodules system really is.
april 2012 by zdw
Why your company shouldn’t use Git submodules « Coding Killed the Cat:
development
git
programming
reference
april 2012 by jschoolcraft