summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xutils/checkstyle.py26
1 files changed, 18 insertions, 8 deletions
diff --git a/utils/checkstyle.py b/utils/checkstyle.py
index 5663af81..214509bc 100755
--- a/utils/checkstyle.py
+++ b/utils/checkstyle.py
@@ -208,6 +208,17 @@ class Commit:
self.commit = commit
self._parse()
+ def _parse_trailers(self, lines):
+ self._trailers = []
+ for index in range(1, len(lines)):
+ line = lines[index]
+ if not line:
+ break
+
+ self._trailers.append(line)
+
+ return index
+
def _parse(self):
# Get the commit title and list of files.
ret = subprocess.run(['git', 'show', '--format=%s%n%(trailers:only,unfold)', '--name-status',
@@ -217,14 +228,7 @@ class Commit:
self._title = lines[0]
- self._trailers = []
- for index in range(1, len(lines)):
- line = lines[index]
- if not line:
- break
-
- self._trailers.append(line)
-
+ index = self._parse_trailers(lines)
self._files = [CommitFile(f) for f in lines[index:] if f]
def files(self, filter='AMR'):
@@ -283,6 +287,12 @@ class Amendment(Commit):
stdout=subprocess.PIPE).stdout.decode('utf-8')
self._files = [CommitFile(f) for f in ret.splitlines()]
+ # Parse trailers from the existing commit only.
+ ret = subprocess.run(['git', 'show', '--format=%n%(trailers:only,unfold)',
+ '--no-patch'],
+ stdout=subprocess.PIPE).stdout.decode('utf-8')
+ self._parse_trailers(ret.splitlines())
+
def get_diff(self, top_level, filename):
diff = subprocess.run(['git', 'diff', '--staged', 'HEAD~', '--',
'%s/%s' % (top_level, filename)],