gcc-changelog: do not use PatchSet.from_filename
authorMartin Liska <mliska@suse.cz>
Fri, 16 Dec 2022 11:21:59 +0000 (12:21 +0100)
committerMartin Liska <mliska@suse.cz>
Fri, 16 Dec 2022 11:21:59 +0000 (12:21 +0100)
Use rather PatchSet constructor where we can pass
properly opened file with newline='\n'.

contrib/ChangeLog:

* gcc-changelog/git_email.py: Use PatchSet constructor
as newline argument is not supported with older unidiff
library.

contrib/gcc-changelog/git_email.py

index 093c887..f3773f1 100755 (executable)
@@ -39,18 +39,15 @@ unidiff_supports_renaming = hasattr(PatchedFile(), 'is_rename')
 class GitEmail(GitCommit):
     def __init__(self, filename):
         self.filename = filename
-        try:
-          diff = PatchSet.from_filename(filename, newline='\n')
-        except TypeError:
-          # Older versions don't have the newline argument
-          diff = PatchSet.from_filename(filename)
         date = None
         author = None
         subject = ''
 
         subject_last = False
-        with open(self.filename, 'r') as f:
-            lines = f.read().splitlines()
+        with open(self.filename, newline='\n') as f:
+            data = f.read()
+            diff = PatchSet(data)
+            lines = data.splitlines()
         lines = list(takewhile(lambda line: line != '---', lines))
         for line in lines:
             if line.startswith(DATE_PREFIX):