mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-24 14:51:11 +01:00
Short python script to lint the changes files
This commit is contained in:
parent
1c05dfd0b6
commit
8b532a8c81
1 changed files with 46 additions and 0 deletions
46
scripts/maint/lintChanges.py
Executable file
46
scripts/maint/lintChanges.py
Executable file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import re
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def lintfile(fname):
|
||||||
|
have_warned = []
|
||||||
|
def warn(s):
|
||||||
|
if not have_warned:
|
||||||
|
have_warned.append(1)
|
||||||
|
print fname,":"
|
||||||
|
print "\t",s
|
||||||
|
|
||||||
|
m = re.search(r'(\d{3,})', fname)
|
||||||
|
if m:
|
||||||
|
bugnum = m.group(1)
|
||||||
|
else:
|
||||||
|
bugnum = None
|
||||||
|
|
||||||
|
with open(fname) as f:
|
||||||
|
contents = f.read()
|
||||||
|
|
||||||
|
if bugnum and bugnum not in contents:
|
||||||
|
warn("bug number %s does not appear"%bugnum)
|
||||||
|
|
||||||
|
lines = contents.split("\n")
|
||||||
|
isBug = ("bug" in lines[0] or "fix" in lines[0])
|
||||||
|
|
||||||
|
contents = " ".join(contents.split())
|
||||||
|
|
||||||
|
if isBug and not re.search(r'(\d+)', contents):
|
||||||
|
warn("bugfix does not mention a number")
|
||||||
|
elif isBug and not re.search(r'Fixes bug (\d+)', contents):
|
||||||
|
warn("bugfix does not say 'Fixes bug XXX'")
|
||||||
|
|
||||||
|
if re.search(r'[bB]ug (\d+)', contents) and not re.search(r'Bugfix on ', contents):
|
||||||
|
warn("bugfix does not say 'bugfix on X.Y.Z'")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__=='__main__':
|
||||||
|
for fname in sys.argv[1:]:
|
||||||
|
if fname.endswith("~"):
|
||||||
|
continue
|
||||||
|
lintfile(fname)
|
Loading…
Add table
Reference in a new issue