[libcamera-devel] [PATCH 6/8] utils: checkstyle.py: Move diff parsing to Commit class

Niklas Söderlund niklas.soderlund at ragnatech.se
Sun Dec 27 11:40:06 CET 2020


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 at ideasonboard.com>

Reviewed-by: Niklas Söderlund <niklas.soderlund at 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 at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list