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

Re: [RFC PATCH v2 3/6] doc: Add namespace collision guidelines file

From
Kenneth Lorber <keni@his.com>
Date
Jun 1, 2020, 23:55 UTC
Message-ID
<4654CD5E-6802-4277-AFDE-0DD09A40986B@his.com>
In-Reply-To
<xmqqo8q73lkf.fsf@gitster.c.googlers.com>
Show 30 quoted lines
> On May 28, 2020, at 3:29 PM, Junio C Hamano <gitster@pobox.com> wrote:
> 
> Junio C Hamano <gitster@pobox.com> writes:
> 
>> Kenneth Lorber <keni@his.com> writes:
>> 
>>> +Git uses identifiers in a number of different namespaces:
>>> +
>>> +* environment variables
>>> +* files in $GIT_DIR
>>> +* files in the working trees
>>> +* config sections
>>> +* hooks
>>> +* attributes
>> 
>> The names of the subcommands "git" can spawn is a shared resource.
>> You can install "git-imerge" program in one of the directories on
>> your $PATH and say "git imerge" to invoke the program.  
>> 
>> Two third-party developers may have to coordinate to avoid giving
>> the same name to their totally-unrelated tools, if they hope that
>> both of their tools to be useful in the larger Git ecosystem.
> 
> Also names of worktrees that are attached to a single repository.
> If a third-party tool wants to make it "easy" for its users by
> automatically taking a name to do its job (instead of forcing the
> users to come up with a name and giving it to the tool), the name
> must be chosen in such a way that it does not collide names in use
> and names the user (or other third-party tools) will pick in the
> future.

One more, but only as an issue to be documented - you don't need to convince me that trying to handle this should simply be declared "left as an exercise for the reader" and that's extensions that require being compiled in to git (so file names, global variables, functions, test names, etc).

I'd propose "Do something similar to the above or ask for help on the list" if that's acceptable (where "above" is whatever the current proposal turns into).

Show 7 quoted lines
> 
> I (or others) may come up with other things that must be named and
> name collisions must be avoided.  Even though I already said that I
> didn't think the "suggestions to avoid name collisions" given by the
> RFC PATCH are well done, I do think it is worth being aware of the
> problem space, and enumerating what kind of names are shared and
> limited resource is the first step to become so.

Each message seems less enthusiastic than the last. I'm not sure I see any point in creating a v3 until I have time and inspiration to write something significantly different.

> 
> Thanks.
You're welcome.
PS - nothing to reply to in the next 2 messages from you.  Saved them for v3.
Previous: Junio C HamanoNext: Kenneth Lorber
Message 31 of 42 in “various documentation bits”
  1. 0/6 various documentation bitsKenneth Lorber, May 17, 2020
  2. 2/6 Add bit on extending git to Hacking GitKenneth Lorber, May 17, 2020
  3. Junio C HamanoMay 17, 2020
  4. Kenneth LorberMay 18, 2020
  5. 1/6 Tell the glossary about core.hooksPathKenneth Lorber, May 17, 2020
  6. Junio C HamanoMay 17, 2020
  7. Kenneth LorberMay 18, 2020
  8. 5/6 Tell config.txt about NAMESPACE COLLISIONSKenneth Lorber, May 17, 2020
  9. Junio C HamanoMay 18, 2020
  10. 4/6 Include NAMESPACE COLLISIONS doc into gitrepository-layout.txtKenneth Lorber, May 17, 2020
  11. Junio C HamanoMay 18, 2020
  12. Kenneth LorberMay 18, 2020
  13. 3/6 Add namespace collision avoidance guidelines fileKenneth Lorber, May 17, 2020
  14. Abhishek KumarMay 17, 2020
  15. Kenneth LorberMay 18, 2020
  16. Junio C HamanoMay 17, 2020
  17. Kenneth LorberMay 18, 2020
  18. 6/6 Add NAMESPACE COLLISIONS reference to Hacking GitKenneth Lorber, May 17, 2020
  19. Abhishek KumarMay 17, 2020
  20. Junio C HamanoMay 17, 2020
  21. Kenneth LorberMay 18, 2020
  22. Kenneth LorberMay 18, 2020
  23. 0/6 various documentation bitsKenneth Lorber, May 25, 2020
  24. 6/6 doc: Add collision reference to Hacking GitKenneth Lorber, May 25, 2020
  25. 2/6 doc: Add bit on extending git to Hacking GitKenneth Lorber, May 25, 2020
  26. 3/6 doc: Add namespace collision guidelines fileKenneth Lorber, May 25, 2020
  27. Junio C HamanoMay 28, 2020
  28. Junio C HamanoMay 28, 2020
  29. Junio C HamanoMay 29, 2020
  30. Junio C HamanoMay 29, 2020
  31. Kenneth LorberJun 1, 2020
  32. Kenneth LorberJun 1, 2020
  33. 4/6 doc: Add collision doc to gitrepository-layout.txtKenneth Lorber, May 25, 2020
  34. 1/6 doc: Tell the glossary about core.hooksPathKenneth Lorber, May 25, 2020
  35. Junio C HamanoMay 26, 2020
  36. Kenneth LorberMay 27, 2020
  37. Kenneth LorberMay 27, 2020
  38. Junio C HamanoMay 27, 2020
  39. 5/6 doc: Tell config.txt about namespace collisionsKenneth Lorber, May 25, 2020
  40. 0/2 update glossary hooks entryKenneth Lorber, May 31, 2020
  41. 1/2 doc: Tell the glossary about core.hooksPathKenneth Lorber, May 31, 2020
  42. 2/2 doc: remove dated info and refs to sample hooksKenneth Lorber, May 31, 2020

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.