https://gcc.gnu.org/g:254549d2bb9bb3c2719dec597427919c59514fc3

commit r15-8068-g254549d2bb9bb3c2719dec597427919c59514fc3
Author: Tobias Burnus <tbur...@baylibre.com>
Date:   Sat Mar 15 08:53:18 2025 +0100

    contrib/gcc-changelog: Fix Git.AutoInterrupt - sys.meta_path is None 
exception
    
    I think the following message is new with Python 3.13, at least I starting
    seeing the following exception, which could be fixed by a simple call
    to 'repo.close()'.
    
    Seemingly the issue was that the lifetime of the destructor exceeded the
    object lifetime.
    
      Exception ignored in: <function Git.AutoInterrupt.__del__ at 
0x7ff995aa4f40>
      Traceback (most recent call last):
        File "/usr/lib/python3.13/site-packages/git/cmd.py", line 790, in 
__del__
        File "/usr/lib/python3.13/site-packages/git/cmd.py", line 781, in 
_terminate
        File "/usr/lib64/python3.13/subprocess.py", line 2227, in terminate
      ImportError: sys.meta_path is None, Python is likely shutting down
    
    contrib/ChangeLog:
    
            * gcc-changelog/git_repository.py (parse_git_revisions): Destroy the
            Repo object by calling repo.close() at the end of the function.

Diff:
---
 contrib/gcc-changelog/git_repository.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/gcc-changelog/git_repository.py 
b/contrib/gcc-changelog/git_repository.py
index d7650c65e21f..2b2efffe77af 100755
--- a/contrib/gcc-changelog/git_repository.py
+++ b/contrib/gcc-changelog/git_repository.py
@@ -78,4 +78,5 @@ def parse_git_revisions(repo_path, revisions, ref_name=None):
                                commit_to_info_hook=commit_to_info,
                                ref_name=ref_name)
         parsed_commits.append(git_commit)
+    repo.close()
     return parsed_commits

Reply via email to