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

Re: tracking submodules out of main directory.

From
Jens Lehmann <jens.lehmann@web.de>
Date
Jun 27, 2011, 19:02 UTC
Message-ID
<4E08D3B9.401@web.de>
In-Reply-To
<1309200051.2497.288.camel@Naugrim.eriador.com>
Am 27.06.2011 20:40, schrieb henri GEIST:
Show 25 quoted lines
> what I really need is to do :
> 
> cd project_1
> git add ../library_1
> 
> then in case of modification in library_1
> 
> A git status in project_1 directory will say me :
> 
> modified:   ../library_1 (modified content)
> or
> modified:   ../library_1 (new commits)
> or even
> modified:   ../library_1 (new commits, modified content)
> 
> Just like it do for submodules with out "../" in the path.
> 
> And I really think the metadata to do so should be stored in project_1
> since it is him which depend on library_1 version "abcd1234..." and this
> information need to be self contained.
> May be in project_1/.git or project_1/.gitmodules
> 
> I do not see the point of having a third party project "Anything" Just
> to say to project_1 hey you need library_1.
> If it need it, it should already know it.

The point is it avoids ambiguity and cross-dependencies. If you have project_1 requesting the version "123456" of library_1 and project_2 wants "abcdef", you'll always have one project disagreeing (= being dirty). But "abcdef" might be a direct descendant of "123456" and is just fixing a bug that affects only project_2. So it would be ok for both to have "abcdef", but you'll have to add an extra commit to project_1 saying "updating library_1 because of bug in project_2" to make it clean again. That would make the projects not so modular and independent anymore and won't scale well.

If the superproject records these dependencies you just update library_1, run all tests (including those in project_1 & project_2) and commit that in the superproject.

Previous: henri GEISTNext: henri GEIST
Message 45 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.