# HG changeset patch # User Gregory Szorc # Date 2015-06-01 00:41:35 # Node ID 894bcdbb9e7a8a9cd975cc563c9dc5d92e253a3b # Parent 98b5676323dbda542b2258518baa80e95a00b6e1 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. diff --git a/contrib/check-commit b/contrib/check-commit --- a/contrib/check-commit +++ b/contrib/check-commit @@ -29,7 +29,7 @@ errors = [ (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")