diff options
-rwxr-xr-x | utils/checkstyle.py | 26 |
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)], |