summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-12-24 12:34:55 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2020-12-29 16:45:33 +0200
commitba3278a749c0e003c708e7ffc25a3af040c26690 (patch)
tree23a0131de04f04e897c837fb048780c08fa486c9 /utils
parentfc91951250ca0161e3b85c73b35a16d395658f2f (diff)
utils: checkstyle.py: Move diff parsing to Commit class
To avoid duplicating diff parsing in commit checkers, move it to the Commit class. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'utils')
-rwxr-xr-xutils/checkstyle.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/utils/checkstyle.py b/utils/checkstyle.py
index 07e896d9..9c2a1837 100755
--- a/utils/checkstyle.py
+++ b/utils/checkstyle.py
@@ -236,9 +236,10 @@ class Commit:
return self.__title
def get_diff(self, top_level, filename):
- return subprocess.run(['git', 'diff', '%s~..%s' % (self.commit, self.commit),
+ diff = subprocess.run(['git', 'diff', '%s~..%s' % (self.commit, self.commit),
'--', '%s/%s' % (top_level, filename)],
stdout=subprocess.PIPE).stdout.decode('utf-8')
+ return parse_diff(diff.splitlines(True))
def get_file(self, filename):
return subprocess.run(['git', 'show', '%s:%s' % (self.commit, filename)],
@@ -256,9 +257,10 @@ class StagedChanges(Commit):
self.__files = [CommitFile(f) for f in ret.splitlines()]
def get_diff(self, top_level, filename):
- return subprocess.run(['git', 'diff', '--staged', '--',
+ diff = subprocess.run(['git', 'diff', '--staged', '--',
'%s/%s' % (top_level, filename)],
stdout=subprocess.PIPE).stdout.decode('utf-8')
+ return parse_diff(diff.splitlines(True))
class Amendment(StagedChanges):
@@ -276,9 +278,10 @@ class Amendment(StagedChanges):
self.__files = [CommitFile(f) for f in ret.splitlines()]
def get_diff(self, top_level, filename):
- return subprocess.run(['git', 'diff', '--staged', 'HEAD~', '--',
+ diff = subprocess.run(['git', 'diff', '--staged', 'HEAD~', '--',
'%s/%s' % (top_level, filename)],
stdout=subprocess.PIPE).stdout.decode('utf-8')
+ return parse_diff(diff.splitlines(True))
# ------------------------------------------------------------------------------
@@ -657,9 +660,7 @@ class StripTrailingSpaceFormatter(Formatter):
def check_file(top_level, commit, filename):
# Extract the line numbers touched by the commit.
- diff = commit.get_diff(top_level, filename)
- diff = diff.splitlines(True)
- commit_diff = parse_diff(diff)
+ commit_diff = commit.get_diff(top_level, filename)
lines = []
for hunk in commit_diff: