[PATCH 1/2] utils: checkstyle.py: Add author property to Commit class

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon Aug 5 19:48:06 CEST 2024


Extend the Commit class with an author property, retrieved from the
commit. It will be used to extend checkers.

Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
---
 utils/checkstyle.py | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/utils/checkstyle.py b/utils/checkstyle.py
index 7d480bdf4a2f..1eeb3809f7fe 100755
--- a/utils/checkstyle.py
+++ b/utils/checkstyle.py
@@ -216,7 +216,7 @@ class Commit:
         self._parse()
 
     def _parse_trailers(self, lines):
-        for index in range(1, len(lines)):
+        for index in range(2, len(lines)):
             line = lines[index]
             if not line:
                 break
@@ -227,12 +227,13 @@ class Commit:
 
     def _parse(self):
         # Get the commit title and list of files.
-        ret = subprocess.run(['git', 'show', '--format=%s%n%(trailers:only,unfold)', '--name-status',
+        ret = subprocess.run(['git', 'show', '--format=%an <%ae>%n%s%n%(trailers:only,unfold)', '--name-status',
                               self.commit],
                              stdout=subprocess.PIPE).stdout.decode('utf-8')
         lines = ret.splitlines()
 
-        self._title = lines[0]
+        self._author = lines[0]
+        self._title = lines[1]
 
         index = self._parse_trailers(lines)
         self._files = [CommitFile(f) for f in lines[index:] if f]
@@ -240,6 +241,10 @@ class Commit:
     def files(self, filter='AMR'):
         return [f.filename for f in self._files if f.status in filter]
 
+    @property
+    def author(self):
+        return self._author
+
     @property
     def title(self):
         return self._title
@@ -282,12 +287,13 @@ class Amendment(Commit):
 
     def _parse(self):
         # Create a title using HEAD commit and parse the trailers.
-        ret = subprocess.run(['git', 'show', '--format=%H %s%n%(trailers:only,unfold)',
+        ret = subprocess.run(['git', 'show', '--format=%an <%ae>%n%H %s%n%(trailers:only,unfold)',
                              '--no-patch'],
                              stdout=subprocess.PIPE).stdout.decode('utf-8')
         lines = ret.splitlines()
 
-        self._title = 'Amendment of ' + lines[0].strip()
+        self._author = lines[0]
+        self._title = 'Amendment of ' + lines[1].strip()
 
         self._parse_trailers(lines)
 

base-commit: 8af95d6854889dc66746429ccf8888e3a81f6baf
-- 
Regards,

Laurent Pinchart



More information about the libcamera-devel mailing list