git support for subprojects?

3 messages, 3 authors, 2016-06-15 · open the first message on its own page

git support for subprojects?

From: <hidden>
Date: 2016-06-15 22:42:59

Say that I have projects A and B which both depend on another project Z. 
Whenever I update one of those projects, I'd like to also update to the 
latest version of Z in a subdirectory. Is there that kind of support for 
these subprojects? If I'm not being clear, I'm talking about the kind of 
support that is available in Subversion through svn:externals or something 
analogous.

Also, please cc me in any answers since I'm not sure my subscription to 
the list went through.

Thanks,

Luke Powell
Project Engineer
BJ Services

Re: git support for subprojects?

From: Shawn O. Pearce <hidden>
Date: 2016-06-15 22:42:59

Luke.Powell@bjservices.com wrote:
Say that I have projects A and B which both depend on another project Z. 
Whenever I update one of those projects, I'd like to also update to the 
latest version of Z in a subdirectory. Is there that kind of support for 
these subprojects? If I'm not being clear, I'm talking about the kind of 
support that is available in Subversion through svn:externals or something 
analogous.
In the Git community the concept of a subproject is more powerful
than what you just described.  But we haven't implemented those
concepts yet in a released version (however there are prototypes
floating around for discussion).  ;-)

If all you want is an svn:externals type of hack, you can easily
write a wrapper script to cd into the subproject Z and run
`git pull`, merging in any recent changes from the upstream.

But we haven't automated that, as our concept of a subproject is
much more sophisticated and doesn't always mean update the subproject
to the latest version.

-- 
Shawn.

Re: git support for subprojects?

From: Jakub Narebski <hidden>
Date: 2016-06-15 22:42:59

[Cc: git@vger.kernel.org]

Luke.Powell@bjservices.com wrote:
Say that I have projects A and B which both depend on another project Z. 
Whenever I update one of those projects, I'd like to also update to the 
latest version of Z in a subdirectory. Is there that kind of support for 
these subprojects? If I'm not being clear, I'm talking about the kind of 
support that is available in Subversion through svn:externals or something 
analogous.
Git currently doesn't have submodule (subproject) support, although this
topic appears from time to time on git mailing list. There are even two
prototypes of proper submodule support; link to one of those (heavyweight
one by Martin Waitz) can be found at
  http://git.or.cz/gitwiki/SubprojectSupport
There is also lightweight submodule support proposal, but as author did
not put info in above page, and I don't have I think an URL saved...
It is I think what you might want.

But it should be fairly easy to cobble together something analogous
to broken[*1*] svn:externals with update hook...
 
Also, please cc me in any answers since I'm not sure my subscription to 
the list went through.
http://git.or.cz/gitwiki/GitCommunity  


[*1*] In short: you really, really want to bind/connect submodule commit
(submodule version) to supermodule (main module) commit. E.g. you want to
know for sure that v2.1.3 of your project pass all the tests and works
with v0.2.1 of a submodule.
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help