git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Kenneth Lorber <keni@hers.com>
Cc: git@vger.kernel.org
Subject: Re: [RFC PATCH 3/6] Add namespace collision avoidance guidelines file
Date: Sun, 17 May 2020 08:31:00 -0700	[thread overview]
Message-ID: <xmqqh7we7f4b.fsf@gitster.c.googlers.com> (raw)
In-Reply-To: <1589681624-36969-4-git-send-email-keni@hers.com> (Kenneth Lorber's message of "Sat, 16 May 2020 22:13:41 -0400")

Kenneth Lorber <keni@hers.com> writes:

> From: Kenneth Lorber <keni@his.com>
>
> Add a file of guidelines to prevent the namespace collisions
> mentioned in git help config without any guidance.

Collisions with whom are you worried about?

Random $stuff the end users want to have the namespace that governs
$stuff (where $stuff could be an environment variable, a file on the
filesystem, refname in git, etc.)?

Random $stuff third-party tools want to add?

As far as git is concerned, all the files under $GIT_DIR are
blackbox and off-limits from end users and third-party tools, so
there is no collisions in "a file on the filesystem", but creating a
ref may result in a creation of a file in $GIT_DIR/, and carving out
a part of refs/* hierarchy for use by a third-party tool is a
worthwhile goal.  Just like "git bisect" uses refs/bisect/* for its
own operation and wants to reserve the hierarchy from other tools
and the end users, any third-party tool would want a similar
carve-out.  The same for configuration variables.

HOWEVER

I would rather not to see an arbitrary set of rules that are not
battle-tested in the field added to our documentation.

Instead, my preference is to add a document that describes what
namespaces (e.g. environment variable, reference, configuration
varable) third-party tools may want carving out for themselves to
raise awareness of writers of such tools, and tell them to talk to
us on the list, saying "I plan to write a tool that wants to reserve
refs/frotz/ hierarchy for its own use---comments?", so that people
can respond with "I know a tool that already uses that hierarchy, so
you'd need to come up with a different one" to save hassles of
having to rename before it happens.

After gaining experience from such exchanges, we might come up a set
of rules so that no collisions would be possible without any
coordination, and then we could document those rules.  

I do not think that is plausible to happen, but that is OK.

  parent reply	other threads:[~2020-05-17 15:31 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-17  2:13 [RFC PATCH 0/6] various documentation bits Kenneth Lorber
2020-05-17  2:13 ` [RFC PATCH 1/6] Tell the glossary about core.hooksPath Kenneth Lorber
2020-05-17 18:33   ` Junio C Hamano
2020-05-18 22:06     ` Kenneth Lorber
2020-05-17  2:13 ` [RFC PATCH 2/6] Add bit on extending git to Hacking Git Kenneth Lorber
2020-05-17 18:34   ` Junio C Hamano
2020-05-18 22:10     ` Kenneth Lorber
2020-05-17  2:13 ` [RFC PATCH 3/6] Add namespace collision avoidance guidelines file Kenneth Lorber
2020-05-17  9:45   ` Abhishek Kumar
2020-05-18 15:51     ` Kenneth Lorber
2020-05-17 15:31   ` Junio C Hamano [this message]
2020-05-18 21:46     ` Kenneth Lorber
2020-05-17  2:13 ` [RFC PATCH 4/6] Include NAMESPACE COLLISIONS doc into gitrepository-layout.txt Kenneth Lorber
2020-05-18  0:26   ` Junio C Hamano
2020-05-18 23:54     ` Kenneth Lorber
2020-05-17  2:13 ` [RFC PATCH 5/6] Tell config.txt about NAMESPACE COLLISIONS Kenneth Lorber
2020-05-18  0:32   ` Junio C Hamano
2020-05-17  2:13 ` [RFC PATCH 6/6] Add NAMESPACE COLLISIONS reference to Hacking Git Kenneth Lorber
2020-05-17  7:42 ` [RFC PATCH 0/6] various documentation bits Abhishek Kumar
2020-05-17 18:39   ` Junio C Hamano
2020-05-18 23:44     ` Kenneth Lorber
2020-05-18 15:45   ` Kenneth Lorber
2020-05-25 23:27 ` [RFC PATCH v2 " Kenneth Lorber
2020-05-25 23:27   ` [RFC PATCH v2 1/6] doc: Tell the glossary about core.hooksPath Kenneth Lorber
2020-05-26 18:59     ` Junio C Hamano
2020-05-27 16:52       ` Kenneth Lorber
2020-05-27 17:18         ` Kenneth Lorber
2020-05-27 17:18         ` Junio C Hamano
2020-05-25 23:27   ` [RFC PATCH v2 2/6] doc: Add bit on extending git to Hacking Git Kenneth Lorber
2020-05-25 23:27   ` [RFC PATCH v2 3/6] doc: Add namespace collision guidelines file Kenneth Lorber
2020-05-28 18:49     ` Junio C Hamano
2020-05-28 19:29       ` Junio C Hamano
2020-05-29  1:20         ` Junio C Hamano
2020-05-29 18:08           ` Junio C Hamano
2020-06-01 23:55         ` Kenneth Lorber
2020-06-01 18:38       ` Kenneth Lorber
2020-05-25 23:27   ` [RFC PATCH v2 4/6] doc: Add collision doc to gitrepository-layout.txt Kenneth Lorber
2020-05-25 23:27   ` [RFC PATCH v2 5/6] doc: Tell config.txt about namespace collisions Kenneth Lorber
2020-05-25 23:27   ` [RFC PATCH v2 6/6] doc: Add collision reference to Hacking Git Kenneth Lorber
2020-05-31 21:37   ` [RFC PATCH 0/2] update glossary hooks entry Kenneth Lorber
2020-05-31 21:37     ` [RFC PATCH 1/2] doc: Tell the glossary about core.hooksPath Kenneth Lorber
2020-05-31 21:37     ` [RFC PATCH 2/2] doc: remove dated info and refs to sample hooks Kenneth Lorber

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqh7we7f4b.fsf@gitster.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=keni@hers.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).