git/list[1] front-page[2] threads[3] people[4] search[5] about
 

FW: Query on git submodules

From
FSFrawley, Sarah <sarah.frawley@intel.com>
Date
May 27, 2015, 13:20 UTC
Message-ID
<4C328B7D13677A4EAF715D0755A6D7EE25C5AD9E@irsmsx110.ger.corp.intel.com>
In-Reply-To
<20150526170125.GC31115@book.hvoigt.net>
Thanks Heiko for getting back to me.
Correct when I referred to 10+ layers I meant nested repositories which make up a large hierarchy.  Some repositories are repeated across the hierarchy.  We check-out submodules to tag versions (as opposed to master branch).  If we need to roll out a particular change across a hierarchy (e.g. 60 repos) then every level in the hierarchy needs to pick up new submodule tags.
The main 2 issues that we see are:
1. Enforcement of absolute paths in git submodules - I am currently trialing using a pre-commit hook to highlight this issue to users so that they can fix their submodule urls to relative paths.
2. Slowness Integrating updates to submodule hierarchy -I have been looking at ways of automating such a roll out - this can be useful for new project setups or for rolling out an update to all repos and quickly integrating it into the submodule hierarchy.  The link below shows something similar however it checks out a master branch of each submodule in its hierarchy. https://chrisjean.com/recursively-updating-git-submodules/
Thanks,
Sarah 
-----Original Message-----
From: Heiko Voigt [mailto:hvoigt@hvoigt.net] 
Sent: Tuesday, May 26, 2015 6:01 PM
To: Frawley, Sarah
Cc: git@vger.kernel.org
Subject: Re: Query on git submodules
Hi,
On Fri, May 22, 2015 at 01:46:24PM +0000, Frawley, Sarah wrote:
> I am a design automation engineer supporting 200+ designers who use 
> git for hardware design.  We also use the submodule feature where we 
> can have quite complex hierarchy's with 10+ layers.
What does this 10+ layers mean? Nested submodule repositories 10 recursion steps deep?
Show 8 quoted lines
> We have experience issues with re-use of design projects was we move 
>from one derivative to another due to the complexity of the hierarchy 
>along with lack of discipline (using absolute paths in .gitmodule 
>files). To enforce more discipline I am currently working on a 
>pre-commit hook to check the integrity of .gitmodule files.  I would be 
>interested in seeing how other users in the community find submodules 
>for large scale projects and if there are any best known methods for 
>using them.
I do not have anything to share here since our projects did not have such problems (not that large scale). It would be interesting to see what you come up with. Maybe we can add some of that into core git to support such large scale projects better. So maybe you can share exactly what problems you have (only absolute paths?) or the pre-commit hooks you will use.

Cheers Heiko ------------------------------------------------------------- Intel Ireland Limited (Branch) Collinstown Industrial Park, Leixlip, County Kildare, Ireland Registered Number: E902934

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.

Previous: Heiko VoigtNext: Mattias Vannergård
Message 3 of 8 in “Query on git submodules”
  1. Frawley, SarahMay 22, 2015
  2. Heiko VoigtMay 26, 2015
  3. FW: Query on git submodulesFrawley, Sarah, May 27, 2015
  4. Mattias VannergårdJun 2, 2015
  5. Heiko VoigtJun 2, 2015
  6. Mattias VannergårdJun 2, 2015
  7. Heiko VoigtJun 2, 2015
  8. Frawley, SarahJun 2, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.