check-commit: make foo_bar naming regexp less greedy
authorGregory Szorc <gregory.szorc@gmail.com>
Sun, 31 May 2015 17:41:35 -0700
changeset 25379 894bcdbb9e7a
parent 25378 98b5676323db
child 25380 eaa456c5e699
check-commit: make foo_bar naming regexp less greedy \s is equivalent to the character class [ \t\n\r\f\v]. Using \s+ in a regular expression against input with multiple lines may match across multiple lines. For the regexp in question, "\+\s+" would match "+\n " and similar sequences, leading to false positives for functions that were included in diff context, after a modified hunk.
contrib/check-commit
--- a/contrib/check-commit	Wed May 27 12:05:08 2015 -0700
+++ b/contrib/check-commit	Sun May 31 17:41:35 2015 -0700
@@ -29,7 +29,7 @@
     (r"^# .*\n.*\.\s+$", "don't add trailing period on summary line"),
     (r"^# .*\n.{78,}", "summary line too long (limit is 78)"),
     (r"^\+\n \n", "adds double empty line"),
-    (r"\+\s+def [a-z]+_[a-z]", "adds a function with foo_bar naming"),
+    (r"^\+[ \t]+def [a-z]+_[a-z]", "adds a function with foo_bar naming"),
 ]
 
 node = os.environ.get("HG_NODE")