diff options
authorJunio C Hamano <>2008-03-02 02:18:16 (GMT)
committerJunio C Hamano <>2008-03-02 02:18:16 (GMT)
commit009c98ee170b36598548cc67c54826544cced108 (patch)
parentc14918415a36e93a84ed1f58ce079619f84e26fa (diff)
CodingGuidelines: spell out how we use grep in our scripts
Our scripts try to stick to fairly limited subset of POSIX BRE for portability. It is unclear from manual page from GNU grep which is GNU extension and which is portable, so let's spell it out to help new people to keep their contributions from hurting porters. Signed-off-by: Junio C Hamano <>
1 files changed, 12 insertions, 0 deletions
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
index 3b042db..994eb91 100644
--- a/Documentation/CodingGuidelines
+++ b/Documentation/CodingGuidelines
@@ -53,6 +53,18 @@ For shell scripts specifically (not exhaustive):
- We do not write the noiseword "function" in front of shell
+ - As to use of grep, stick to a subset of BRE (namely, no \{m,n\},
+ [::], [==], nor [..]) for portability.
+ - We do not use \{m,n\};
+ - We do not use -E;
+ - We do not use ? nor + (which are \{0,1\} and \{1,\}
+ respectively in BRE) but that goes without saying as these
+ are ERE elements not BRE (note that \? and \+ are not even part
+ of BRE -- making them accessible from BRE is a GNU extension).
For C programs:
- We use tabs to indent, and interpret tabs as taking up to