Message ID | 20201224122855.22200-7-laurent.pinchart@ideasonboard.com |
---|---|
State | Accepted |
Delegated to: | Laurent Pinchart |
Headers | show |
Series |
|
Related | show |
Hi Laurent, Thanks for your work. On 2020-12-24 14:28:53 +0200, Laurent Pinchart wrote: > 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> > --- > utils/checkstyle.py | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/utils/checkstyle.py b/utils/checkstyle.py > index 07e896d9819f..9c2a1837aa11 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: > -- > Regards, > > Laurent Pinchart > > _______________________________________________ > libcamera-devel mailing list > libcamera-devel@lists.libcamera.org > https://lists.libcamera.org/listinfo/libcamera-devel
diff --git a/utils/checkstyle.py b/utils/checkstyle.py index 07e896d9819f..9c2a1837aa11 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:
To avoid duplicating diff parsing in commit checkers, move it to the Commit class. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- utils/checkstyle.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)