Re: [PATCH 2/2] CodingGuidelines: Add note forbidding use of 'which' in shell scripts
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 27, 2012, 18:56 UTC
- Message-ID
- <7vty2c85ql.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <1330117921-8257-2-git-send-email-tim.henigan@gmail.com>
Tim Henigan <tim.henigan@gmail.com> writes:
Show 11 quoted lines
> diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines > index a4ffe7c..3505a4b 100644 > --- a/Documentation/CodingGuidelines > +++ b/Documentation/CodingGuidelines > @@ -44,6 +44,10 @@ For shell scripts specifically (not exhaustive): > properly nests. It should have been the way Bourne spelled > it from day one, but unfortunately isn't. > > + - The use of 'which' is not allowed. The output of 'which' is not > + machine parseable and its exit code is not reliable across > + platforms.
It is more helpful to say "If you want to do Z, use X, not Y because Y is broken for such and such reasons", rather than "Never use Y because Y is broken ...".
In this case, Z is "find out if a command is available on user's $PATH", and X is "type", I think.