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

Re: tracking submodules out of main directory.

From
HGhenri GEIST <henri.geist@flying-robots.com>
Date
Aug 3, 2011, 21:04 UTC
Message-ID
<1312405480.3261.957.camel@Naugrim.eriador.com>
In-Reply-To
<7v8vractdw.fsf@alter.siamese.dyndns.org>
Le mercredi 03 août 2011 à 10:11 -0700, Junio C Hamano a écrit :
Show 15 quoted lines
> henri GEIST <henri.geist@flying-robots.com> writes:
> 
> > I plan to use a config file containing lines like
> >
> > "path_to_poited_repo   SHA1_of_intended_commit   URL_of_origin"
> >
> > the URL part will not be required.
> >
> > this file will be a list of pointer to other project.
> 
> I wasn't paying attention to this thread, but I have to ask "why" here.
> 
> The first two are what gitlink was designed to do in the superproject that
> ties multiple submodules together, and the last one is also supplied by
> the .gitmodules in that superproject.

Yes my only problem is that it is forbidden to put a submodule outside of the repository. That is way I had done a patch witch enable me to do so and I use it flawlessly every day. with total satisfaction.

Show 6 quoted lines
> This seems to be adding the same information in a redundant way by saying
> "this version A0 of submodule A wants version B0 of submodule B and
> version C0 of submodule C" when the supermodule can say "the consistent
> view I record is to have version A0, B0 and C0 of submodules A, B and C,
> respectively".
> 

Exact but my goal is to get ride of the superproject. This is how I will remove the redondency. Cause creating a projet just to said to other project what they need is a wast. Each project has to now by itself what it need.

And each user will have his own list of project to work on. Then they we will create one different superproject for each user.

One user can work on a superproject containing : gimp, gqview, libpng

One other will work on a superproject containing : gimp, gphoto, libpng, libusb

The next one will work on a superproject containing : xsane, libusb

They can absolutely not share there superproject only the normal projects. And if the dependency are defined in superproject, and not in the projects themselves. Users can not share their dependency constructs.

I have no intend to have "sub"modules but to have generic modules with no hierarchies only dependence relations. Which could even be crossed. (Module A require module B and module B require module A.) Even if in this particular case I do not see the point to make two distinct modules.

Show 5 quoted lines
> I also suspect that allowing each submodule to know and demand specific
> versions of other submodules will lead to inconsistencies. Which version
> of submodule C would you demand to have when submodule A wants version C0
> and submodule B wants version C1 of it?
> 

That is already the case with normal submodules. And of corse if you have a project which recursively depend of to version of the same library, you need to update it, and it has nothing to do with git. Git will just make it obvious.

The reason we decide to make a parallel file ".gitdependencies", containing something really similar to the content of ".gitmodules" is that in .gitdependencies we will put references outside of repository and in ".gitmodules" the references inside git repository as actual.

This separation will be done because Jens Lehmann show us that .gitmodules are lot more that what I expected from those reference and do not think that the others abilities of submodules should apply to external modules.

	Henri
Previous: henri GEISTNext: Heiko Voigt
Message 41 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.