On Mon, May 03 2021, Junio C Hamano wrote: > 01d3a526 (t0000: check whether the shell supports the "local" > keyword, 2017-10-26) raised a test balloon to see if those who build > and test Git use a platform with a shell that lacks support for the > "local" keyword. After two years, 7f0b5908 (t0000: reword comments > for "local" test, 2019-08-08) documented that "local" keyword, even > though is outside POSIX, is allowed in our test scripts. > > Let's write it in the CodingGuidelines, too. It might be tempting > to allow it in scripted Porcelains (we have avoided getting them > contaminiated by "local" so far), but they are on their way out and > getting rewritten in C. > > Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> > --- > Documentation/CodingGuidelines | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines > index 45465bc0c9..ea70676a30 100644 > --- a/Documentation/CodingGuidelines > +++ b/Documentation/CodingGuidelines > @@ -175,6 +175,11 @@ For shell scripts specifically (not exhaustive): > > does not have such a problem. > > + - Even though "local" is not part of POSIX, we make heavy use of it > + in our test suite. We do not use it in scripted Porcelains, and > + hopefully nobody starts using "local" before they are reimplemented > + in C ;-) > + Is there any portability reason to avoid "local" in the porcelains? I don't have any plans for using it, but I don't see why we'd explicitly forbid it.