On Wed, Sep 28, 2016 at 2:50 PM, Brandon Williams <bmw...@google.com> wrote:

> @@ -601,6 +602,11 @@ foo.bar= ...`) sets `foo.bar` to the empty string.
>         details.  Equivalent to setting the `GIT_NAMESPACE` environment
>         variable.
> +--super-prefix=<path>::
> +       Set a prefix which gives a path from above a repository down to its
> +       root.  One use is to give submodules context about the superproject 
> that
> +       invoked it.  Currently for internal use only.

I would put the "Currently for internal use only." at the beginning, so end
users don't have to bother reading though the description, when they want to
only use kosher flags. (Well, checking `man git fetch` and searching
for 'internal',
there doesn't seem to be a consistent way how to document internal flags :(.
It doesn't however advertise the flag in the SYNOPSIS. Ok it doesn't advertise
a lot of flags in its SYNOPSIS)

> +const char *get_super_prefix()
> +{
> +       if (!super_prefix)
> +               super_prefix = getenv(GIT_SUPER_PREFIX_ENVIRONMENT);

The getenv() function returns a pointer to the value in the
environment, or NULL if there is no match.

So in case this is not set (when e.g. the user did not specify the
super prefix),
we would probe it a couple of times.

The caching effect only occurs when the string is set. So this looks
like we save repetitive
calls, but we do not always do that.

Reply via email to