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

Re: [PATCH] Let .git/config specify the url for submodules

From
LHLars Hjemli <hjemli@gmail.com>
Date
May 31, 2007, 00:17 UTC
Message-ID
<8c5c35580705301717h4e9b127fr21ee19764f8ec288@mail.gmail.com>
In-Reply-To
<1180385483418-git-send-email-hjemli@gmail.com>
On 5/28/07, Lars Hjemli <hjemli@gmail.com> wrote:
> This changes git-submodule in a few ways:

Please don't apply the "Let .git/config specify the url for submodules" patch, I'm having second thoughts ;-)

Your design outline in http://article.gmane.org/gmane.comp.version-control.git/48287 is obviously superior, and I'd like to take a stab at it with something like this:

1. 'git-submodule init' saves submodule name and suggested url from
.gitmodules into .git/config (submodule.$name.url)
2. 'git-submodule update' keeps the work tree updated for submodules
with five separate (and optional) operations:
  a) git-clone --bare $url .git/submodules/$name.git
  b) git-clone -l -s .git/submodules/$name.git $path
  c) cd .git/submodules/$name.git && git-fetch
  d) cd $path && git-fetch
  e) cd $path && git-checkout $sha1
3) 'git-submodule push' runs something like 'cd $path && git push
origin $branch', where $branch is found in .gitmodules
(path.$path.branch).

A remaining issue is how to detect if step 2b is necessary if a submodule is already checked out at the submodule path, but I guess remote.origin.url in the checked out submodule would be the thing to peek into.

Also, step 2c/2d should obviously only be performed if the requested sha1 isn't available, which should be trivial to detect with 'git-cat-file -e'.

Could this turn out to be an acceptable solution?

-- larsh

Previous: Lars HjemliNext: Junio C Hamano
Message 2 of 31 in “Let .git/config specify the url for submodules”
  1. Let .git/config specify the url for submodulesLars Hjemli, May 28, 2007
  2. Lars HjemliMay 31, 2007
  3. Junio C HamanoMay 31, 2007
  4. Josef WeidendorferJun 1, 2007
  5. Lars HjemliJun 1, 2007
  6. Sven VerdoolaegeJun 1, 2007
  7. Lars HjemliJun 1, 2007
  8. Sven VerdoolaegeJun 1, 2007
  9. Lars HjemliJun 1, 2007
  10. Sven VerdoolaegeJun 1, 2007
  11. Lars HjemliJun 1, 2007
  12. Linus TorvaldsJun 1, 2007
  13. Junio C HamanoJun 1, 2007
  14. Lars HjemliJun 2, 2007
  15. Sven VerdoolaegeJun 2, 2007
  16. Lars HjemliJun 2, 2007
  17. Junio C HamanoJun 2, 2007
  18. Lars HjemliJun 2, 2007
  19. Junio C HamanoJun 2, 2007
  20. Lars HjemliJun 2, 2007
  21. Sven VerdoolaegeJul 25, 2007
  22. Lars HjemliJul 25, 2007
  23. Johannes SchindelinJul 25, 2007
  24. Lars HjemliJul 25, 2007
  25. Johannes SchindelinJul 25, 2007
  26. Junio C HamanoJul 25, 2007
  27. Ricky NiteJul 25, 2007
  28. Junio C HamanoJul 25, 2007
  29. Sven VerdoolaegeJun 2, 2007
  30. Linus TorvaldsJun 2, 2007
  31. Sven VerdoolaegeJun 2, 2007

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.