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

Re: tracking submodules out of main directory.

From
Junio C Hamano <gitster@pobox.com>
Date
Aug 3, 2011, 19:41 UTC
Message-ID
<7vaabqb7vf.fsf@alter.siamese.dyndns.org>
In-Reply-To
<4E399C62.30604@web.de>
Jens Lehmann <Jens.Lehmann@web.de> writes:
Show 6 quoted lines
> 1) To use me, you need another submodule "foo"
>
>    This is very helpful when you want to add the Gimp submodule and it
>    can tell you you'll need the libpng submodule too in your superproject
>    (but I'd vote to use the submodule name here, not the path as that
>    should be the superproject's decision).

That is something you can add to .gitmodules in the superproject, no? E.g.

	[submodule "Gimp"]
        	url = http://some/where/
		path = gimp/
        	depends = version 1.2.3 of "Glib"
	[submodule "Glib"]
        	url = http://some/where/else/
		path = libs/glib
> In addition to that, it can (but mustn't) specify any of the following:
I am guessing you meant "does not have to", instead of mustn't, here...
> a) Of this submodule "foo" I need at least that version because I won't
>    compile/work with older versions of that. (this can be tightened to
>    "exactly that version" to give henri the behavior he wants, but that
>    should be policy, not mandatory)

The "loose collection of projects" approach like that has its uses, and it is called "repo". Why re-invent it? The behaviour Henri wants to specify the exact version is how git submodules work already, so I do not see there is anything to be done here.

> b) And if you don't know where to get it, use this url
Again that is the job of .gitmodules in the superproject.
> That is all stuff the submodule knows better than the superproject.

Not necessarily. The version A0 of submodule A may depend on submodule B and may also know it must have at least version B0 of that submodule, but the superproject would know other constraints, e.g. the superproject itself also calls into submodule B and wants a newer version B1 of it.

Previous: Jens LehmannNext: Jens Lehmann
Message 31 of 47 in “tracking submodules out of main directory.”
  1. henri GEISTJun 27, 2011
  2. Junio C HamanoJun 27, 2011
  3. Jens LehmannJun 27, 2011
  4. henri GEISTJun 27, 2011
  5. Jens LehmannJun 27, 2011
  6. henri GEISTJun 27, 2011
  7. Junio C HamanoJun 27, 2011
  8. Jens LehmannJun 27, 2011
  9. henri GEISTJun 27, 2011
  10. Jens LehmannJun 28, 2011
  11. henri GEISTJun 28, 2011
  12. henri GEISTJun 27, 2011
  13. Jens LehmannJun 28, 2011
  14. Jens LehmannJun 28, 2011
  15. henri GEISTJun 28, 2011
  16. Alexei SholikJun 28, 2011
  17. Jens LehmannJun 28, 2011
  18. henri GEISTJul 27, 2011
  19. henri GEISTJul 28, 2011
  20. Jens LehmannJul 28, 2011
  21. henri GEISTJul 29, 2011
  22. Jens LehmannJul 30, 2011
  23. henri GEISTJul 30, 2011
  24. Jens LehmannAug 1, 2011
  25. henri GEISTAug 2, 2011
  26. Jens LehmannAug 2, 2011
  27. Heiko VoigtAug 3, 2011
  28. henri GEISTAug 3, 2011
  29. Junio C HamanoAug 3, 2011
  30. Jens LehmannAug 3, 2011
  31. Junio C HamanoAug 3, 2011
  32. Jens LehmannAug 3, 2011
  33. henri GEISTAug 3, 2011
  34. Jens LehmannAug 4, 2011
  35. henri GEISTAug 5, 2011
  36. Heiko VoigtAug 4, 2011
  37. henri GEISTAug 5, 2011
  38. Heiko VoigtAug 3, 2011
  39. henri GEISTAug 3, 2011
  40. henri GEISTAug 3, 2011
  41. henri GEISTAug 3, 2011
  42. Heiko VoigtAug 1, 2011
  43. henri GEISTAug 2, 2011
  44. henri GEISTJun 27, 2011
  45. Jens LehmannJun 27, 2011
  46. henri GEISTJun 27, 2011
  47. henri GEISTAug 3, 2011

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.