XZise has uploaded a new change for review.
https://gerrit.wikimedia.org/r/243140
Change subject: [IMPROV] Don't use shell argument
......................................................................
[IMPROV] Don't use shell argument
The `shell` argument in `subprocess.check_output` should be used very
carefully. But this is not necessary if we already split the arguments. This
now also uses a custom log format which will only print the commit message not
indented.
This also fixes various issues that it didn't detect lines which start with
"Change-Id" or "Bug" because it didn't consider the indentation.
Change-Id: I7724c6c75ed100ef11082e95f4f48ef3f5d91d6a
---
M tools/commit-message-validator.py
1 file changed, 6 insertions(+), 11 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/integration/jenkins
refs/changes/40/243140/1
diff --git a/tools/commit-message-validator.py
b/tools/commit-message-validator.py
index 609518e..c8a532a 100755
--- a/tools/commit-message-validator.py
+++ b/tools/commit-message-validator.py
@@ -80,10 +80,8 @@
changeid_line = False
last_bug = False
for lineno, line in enumerate(lines):
- # Strip leading spaces to remove `git log` indenting
- stripped = line.lstrip()
rline = lineno + 1
- e = line_has_errors(lineno, stripped)
+ e = line_has_errors(lineno, line)
if e:
errors.append(e)
@@ -123,7 +121,7 @@
changeid_line = rline
last_lineno = rline
- last_line = stripped
+ last_line = line
if last_lineno < 2:
errors.append("Line %d: Expected at least 3 lines" % last_lineno)
@@ -149,14 +147,11 @@
def main():
"""Validate the current HEAD commit message."""
- commit = subprocess.check_output('git log --pretty=raw -1', shell=True)
+ commit = subprocess.check_output(['git', 'log', '--format=%B',
'--no-color',
+ '-n1'])
commit = commit.decode(locale.getpreferredencoding())
- lines = commit.splitlines()
-
- # Discard until the first blank line
- line = lines.pop(0)
- while line:
- line = lines.pop(0)
+ # last line is always an empty line
+ lines = commit.splitlines()[:-1]
return check_message(lines)
--
To view, visit https://gerrit.wikimedia.org/r/243140
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7724c6c75ed100ef11082e95f4f48ef3f5d91d6a
Gerrit-PatchSet: 1
Gerrit-Project: integration/jenkins
Gerrit-Branch: master
Gerrit-Owner: XZise <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits