[PATCH 9 of 9] check-code: examine magic pattern matching against contents of a file

FUJIWARA Katsunori foozy at lares.dti.ne.jp
Wed Feb 10 13:58:47 UTC 2016


# HG changeset patch
# User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
# Date 1455111869 -32400
#      Wed Feb 10 22:44:29 2016 +0900
# Node ID 3e62bb5a87080dea69d291a68456622cbb6d8702
# Parent  f17178eff48f064225d89a7eb351220b6ccd1ef0
check-code: examine magic pattern matching against contents of a file

Before this patch, check-code examines "magic" pattern (e.g.
'^#!.*python') matching against not contents of a file, but name of
it.

This unintentionally omits code checking against Python source file,
of which filename doesn't end with "*.py" or "*.cgi", even though
contents of it starts with "#!/bin/python" or so.

In this change, 'pre' refers contents of file 'f'.

diff --git a/contrib/check-code.py b/contrib/check-code.py
--- a/contrib/check-code.py
+++ b/contrib/check-code.py
@@ -475,7 +475,7 @@ def checkfile(f, logfunc=_defaultlogger.
         if debug:
             print name, f
         fc = 0
-        if not (re.match(match, f) or (magic and re.search(magic, f))):
+        if not (re.match(match, f) or (magic and re.search(magic, pre))):
             if debug:
                 print "Skipping %s for %s it doesn't match %s" % (
                        name, match, f)



More information about the Mercurial-devel mailing list