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

Re: Intricacies of submodules

From
RSRoman Shaposhnik <rvs@sun.com>
Date
Apr 12, 2008, 03:13 UTC
Message-ID
<1207970038.10408.8.camel@ginkgo>
In-Reply-To
<7vmyo0owep.fsf@gitster.siamese.dyndns.org>
On Fri, 2008-04-11 at 15:32 -0700, Junio C Hamano wrote:
Show 15 quoted lines
> > But, how  to handle the case that  there are more than one policies
> > for different projects?
> 
> "How to"?  You would handle the case just like either of us suggested
> above.
> 
> Are you talking about a single project with more than one policies A, B,
> C, ... that conflict with each other?  Or are you talking about more than
> one projects, each of which has a single project-wide policy?
> 
> I do not think the former makes sense and won't be helped with in-tree
> file that overrides .git/config Roman discussed either.
> 
> The latter would be helped equally well whether that in-tree polic file is
> called .gitconfig or update-git-config.sh.

I believe Fedor addressed the social aspects of this issue quite well, so I'm just going to focus on a technical aspect here: there is a difference between .gitconfig and update-git-config.sh approaches that I would like you to acknowledge. With update-git-config.sh you are allowing for a repository to be in a state that is inconsistent with the policies that need to be enforced, without novice users even realizing that. Contrast this with .gitconfig where policies get enforced right from the minute your clone operation finishes and there's much less opportunity for the user to shoot himself in the foot. In fact "shooting in the foot" (senselessly overriding default policies via .git/config) becomes an *explicit* action on user's part. He is the one to blame.

Thanks, Roman.

Previous: Junio C HamanoNext: Junio C Hamano
Message 18 of 48 in “Migrating svn to git with heavy use of externals”
  1. D. Stuart FreemanMar 31, 2008
  2. D. Stuart FreemanApr 8, 2008
  3. Avery PennarunApr 8, 2008
  4. D. Stuart FreemanApr 8, 2008
  5. Avery PennarunApr 8, 2008
  6. D. Stuart FreemanApr 8, 2008
  7. Roman ShaposhnikApr 9, 2008
  8. Avery PennarunApr 9, 2008
  9. Roman ShaposhnikApr 9, 2008
  10. Avery PennarunApr 9, 2008
  11. Junio C HamanoApr 9, 2008
  12. Intricacies of submodules [was: Migrating svn to git with heavy use of externals]Roman Shaposhnik, Apr 10, 2008
  13. Junio C HamanoApr 10, 2008
  14. Roman ShaposhnikApr 10, 2008
  15. Junio C HamanoApr 11, 2008
  16. Ping YinApr 11, 2008
  17. Junio C HamanoApr 11, 2008
  18. Roman ShaposhnikApr 12, 2008
  19. Junio C HamanoApr 12, 2008
  20. Roman ShaposhnikApr 14, 2008
  21. Junio C HamanoApr 15, 2008
  22. Ping YinApr 15, 2008
  23. Roman V. ShaposhnikApr 16, 2008
  24. Jeremy Maitin-ShepardApr 17, 2008
  25. Linus TorvaldsApr 17, 2008
  26. Junio C HamanoApr 17, 2008
  27. Roman V. ShaposhnikApr 17, 2008
  28. Martin LanghoffApr 17, 2008
  29. Junio C HamanoApr 17, 2008
  30. Sverre RabbelierApr 17, 2008
  31. Martin LanghoffApr 17, 2008
  32. Sverre RabbelierApr 17, 2008
  33. Martin LanghoffApr 17, 2008
  34. Ping YinApr 18, 2008
  35. Dmitry PotapovApr 17, 2008
  36. Linus TorvaldsApr 17, 2008
  37. Ping YinApr 18, 2008
  38. Jakub NarebskiApr 18, 2008
  39. Ping YinApr 12, 2008
  40. Roman ShaposhnikApr 14, 2008
  41. Ping YinApr 12, 2008
  42. Junio C HamanoApr 12, 2008
  43. Ping YinApr 12, 2008
  44. Ping YinApr 10, 2008
  45. Roman ShaposhnikApr 10, 2008
  46. Intricacies of submodules [was: Migrating svn to git with heavy use of externals]Roman Shaposhnik, Apr 9, 2008
  47. Avery PennarunApr 9, 2008
  48. Avery PennarunApr 18, 2008

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.