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

Re: Intricacies of submodules

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 12, 2008, 05:11 UTC
Message-ID
<7vlk3jlkrr.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<1207970038.10408.8.camel@ginkgo>
Roman Shaposhnik <rvs@sun.com> writes:
> ... 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.

Why? Even if you expect .git/config in a new repository would be vanilla (which you can't really, as crazy sysadmin can have /etc/gitconfig or template to override what you do), $HOME/.gitconfig would be in effect the minute you clone.

As you cannot reasonably expect that your project is the _only_ project your cloners would use, you cannot dictate what $HOME/.gitconfig has.

A policy issue needs to be addressed at the human level anyway, so I do not really see major difference either way. You need to trust your users to follow the guideline at some point, and all you can do is to make it easy for them to do so, and (optionally) verify that they are actually following the guideline. We need to suggest an easy-to-use and robust mechanism to allow you to do so as the BCP.

Convenience and robustness need to be considered at the same time. In that area, I would say a custom "sane environment setup script" would be the more flexible, as it rolls the customization and verification into one step.

Trust goes mutual and your users need to be able to trust you, too. If the config mechanism blindly starts reading from in-tree .gitconfig, you can do nasty things with aliases for example. So the "sane environment setup script" would also be a good idea in that sense, too --- the users, perhaps only the most suspicious and untrusting kind, have a way to verify it does not mean any harm before running it.

Don't get me wrong. I am not saying that everybody should start rolling their own "sane environment setup script" and ship their project with it. I am only suggesting it as a possible way to do your "policy enforcement" without having to introduce in-tree .gitconfig, which I unfortunately see no fundamental upsides but definite downsides (security included).

Previous: Roman ShaposhnikNext: Roman Shaposhnik
Message 19 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.