Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-gitdb for openSUSE:Factory checked in at 2025-01-31 16:02:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-gitdb (Old) and /work/SRC/openSUSE:Factory/.python-gitdb.new.2316 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-gitdb" Fri Jan 31 16:02:08 2025 rev:8 rq:1241510 version:4.0.12 Changes: -------- --- /work/SRC/openSUSE:Factory/python-gitdb/python-gitdb.changes 2023-11-28 22:19:27.733915400 +0100 +++ /work/SRC/openSUSE:Factory/.python-gitdb.new.2316/python-gitdb.changes 2025-01-31 16:02:27.955207709 +0100 @@ -1,0 +2,14 @@ +Wed Jan 22 11:05:28 UTC 2025 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to 4.0.12 + * Never add a vendored smmap directory to sys.path + * Revise and update the readme + * Set Dependabot submodule update cadence to weekly + * Add missing asserts in test_base.py + * Use contextlib.suppress instead of except: pass + * Add support for Python 3.13 + * Potential Race Condition Fix - OS Rename & Chmod - PermissionError + * Bump gitdb/ext/smmap from 256c5a2 to 04dd210 + * Bump actions/setup-python from 4 to 5 + +------------------------------------------------------------------- Old: ---- gitdb-4.0.11.tar.gz New: ---- gitdb-4.0.12.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-gitdb.spec ++++++ --- /var/tmp/diff_new_pack.vM7qtS/_old 2025-01-31 16:02:29.935287144 +0100 +++ /var/tmp/diff_new_pack.vM7qtS/_new 2025-01-31 16:02:29.935287144 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-gitdb # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-gitdb -Version: 4.0.11 +Version: 4.0.12 Release: 0 Summary: Git Object Database License: BSD-3-Clause ++++++ gitdb-4.0.11.tar.gz -> gitdb-4.0.12.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.11/PKG-INFO new/gitdb-4.0.12/PKG-INFO --- old/gitdb-4.0.11/PKG-INFO 2023-10-20 09:43:00.508155300 +0200 +++ new/gitdb-4.0.12/PKG-INFO 2025-01-02 08:20:27.663828400 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: gitdb -Version: 4.0.11 +Version: 4.0.12 Summary: Git Object Database Home-page: https://github.com/gitpython-developers/gitdb Author: Sebastian Thiel @@ -22,6 +22,7 @@ Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: 3 :: Only Requires-Python: >=3.7 License-File: LICENSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.11/README.rst new/gitdb-4.0.12/README.rst --- old/gitdb-4.0.11/README.rst 2022-02-21 03:44:59.000000000 +0100 +++ new/gitdb-4.0.12/README.rst 2025-01-02 08:01:03.000000000 +0100 @@ -16,34 +16,38 @@ :target: https://readthedocs.org/projects/gitdb/?badge=latest :alt: Documentation Status -From `PyPI <https://pypi.python.org/pypi/gitdb>`_ +From `PyPI <https://pypi.python.org/pypi/gitdb>`_:: pip install gitdb SPEEDUPS ======== -If you want to go up to 20% faster, you can install gitdb-speedups with: +If you want to go up to 20% faster, you can install gitdb-speedups with:: pip install gitdb-speedups +However, please note that gitdb-speedups is not currently maintained. + REQUIREMENTS ============ +* smmap - declared as a dependency, automatically installed * pytest - for running the tests SOURCE ====== -The source is available in a git repository at gitorious and github: + +The source is available in a git repository on GitHub: https://github.com/gitpython-developers/gitdb -Once the clone is complete, please be sure to initialize the submodules using +Once the clone is complete, please be sure to initialize the submodule using:: cd gitdb git submodule update --init -Run the tests with +Run the tests with:: pytest @@ -53,13 +57,13 @@ .. image:: https://github.com/gitpython-developers/gitdb/workflows/Python%20package/badge.svg :target: https://github.com/gitpython-developers/gitdb/actions -The library is considered mature, and not under active development. It's primary (known) use is in git-python. +The library is considered mature, and not under active development. Its primary (known) use is in GitPython. INFRASTRUCTURE ============== -* Mailing List - * http://groups.google.com/group/git-python +* Discussions + * https://github.com/gitpython-developers/GitPython/discussions * Issue Tracker * https://github.com/gitpython-developers/gitdb/issues diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.11/gitdb/__init__.py new/gitdb-4.0.12/gitdb/__init__.py --- old/gitdb-4.0.11/gitdb/__init__.py 2023-10-20 09:37:54.000000000 +0200 +++ new/gitdb-4.0.12/gitdb/__init__.py 2025-01-02 08:01:35.000000000 +0100 @@ -4,34 +4,12 @@ # the New BSD License: https://opensource.org/license/bsd-3-clause/ """Initialize the object database module""" -import sys -import os - -#{ Initialization - - -def _init_externals(): - """Initialize external projects by putting them into the path""" - if 'PYOXIDIZER' not in os.environ: - where = os.path.join(os.path.dirname(__file__), 'ext', 'smmap') - if os.path.exists(where): - sys.path.append(where) - - import smmap - del smmap - # END handle imports - -#} END initialization - -_init_externals() - __author__ = "Sebastian Thiel" __contact__ = "byron...@gmail.com" __homepage__ = "https://github.com/gitpython-developers/gitdb" -version_info = (4, 0, 11) +version_info = (4, 0, 12) __version__ = '.'.join(str(i) for i in version_info) - # default imports from gitdb.base import * from gitdb.db import * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.11/gitdb/db/loose.py new/gitdb-4.0.12/gitdb/db/loose.py --- old/gitdb-4.0.11/gitdb/db/loose.py 2023-10-13 09:36:31.000000000 +0200 +++ new/gitdb-4.0.12/gitdb/db/loose.py 2025-01-02 08:01:03.000000000 +0100 @@ -2,6 +2,8 @@ # # This module is part of GitDB and is released under # the New BSD License: https://opensource.org/license/bsd-3-clause/ +from contextlib import suppress + from gitdb.db.base import ( FileDBBase, ObjectDBR, @@ -52,6 +54,7 @@ import tempfile import os import sys +import time __all__ = ('LooseObjectDB', ) @@ -90,10 +93,8 @@ """ :return: readable object path to the object identified by hexsha :raise BadObject: If the object file does not exist""" - try: + with suppress(KeyError): return self._hexsha_to_file[hexsha] - except KeyError: - pass # END ignore cache misses # try filesystem @@ -205,7 +206,7 @@ # END assure target stream is closed except: if tmp_path: - os.remove(tmp_path) + remove(tmp_path) raise # END assure tmpfile removal on error @@ -228,9 +229,22 @@ rename(tmp_path, obj_path) # end rename only if needed - # make sure its readable for all ! It started out as rw-- tmp file - # but needs to be rwrr - chmod(obj_path, self.new_objects_mode) + # Ensure rename is actually done and file is stable + # Retry up to 14 times - exponential wait & retry in ms. + # The total maximum wait time is 1000ms, which should be vastly enough for the + # OS to return and commit the file to disk. + for exp_backoff_ms in [1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 181]: + with suppress(PermissionError): + # make sure its readable for all ! It started out as rw-- tmp file + # but needs to be rwrr + chmod(obj_path, self.new_objects_mode) + break + time.sleep(exp_backoff_ms / 1000.0) + else: + raise PermissionError( + "Impossible to apply `chmod` to file {}".format(obj_path) + ) + # END handle dry_run istream.binsha = hex_to_bin(hexsha) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.11/gitdb/test/test_base.py new/gitdb-4.0.12/gitdb/test/test_base.py --- old/gitdb-4.0.11/gitdb/test/test_base.py 2023-10-13 09:36:31.000000000 +0200 +++ new/gitdb-4.0.12/gitdb/test/test_base.py 2025-01-02 08:01:03.000000000 +0100 @@ -73,7 +73,7 @@ # test deltapackstream dpostream = ODeltaPackStream(*(dpinfo + (stream, ))) - dpostream.stream is stream + assert dpostream.stream is stream dpostream.read(5) stream._assert() assert stream.bytes == 5 @@ -92,7 +92,7 @@ assert istream.size == s istream.size = s * 2 - istream.size == s * 2 + assert istream.size == s * 2 assert istream.type == str_blob_type istream.type = "something" assert istream.type == "something" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.11/gitdb.egg-info/PKG-INFO new/gitdb-4.0.12/gitdb.egg-info/PKG-INFO --- old/gitdb-4.0.11/gitdb.egg-info/PKG-INFO 2023-10-20 09:43:00.000000000 +0200 +++ new/gitdb-4.0.12/gitdb.egg-info/PKG-INFO 2025-01-02 08:20:27.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: gitdb -Version: 4.0.11 +Version: 4.0.12 Summary: Git Object Database Home-page: https://github.com/gitpython-developers/gitdb Author: Sebastian Thiel @@ -22,6 +22,7 @@ Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 Classifier: Programming Language :: Python :: 3 :: Only Requires-Python: >=3.7 License-File: LICENSE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.11/setup.py new/gitdb-4.0.12/setup.py --- old/gitdb-4.0.11/setup.py 2023-10-20 09:33:09.000000000 +0200 +++ new/gitdb-4.0.12/setup.py 2025-01-02 08:01:22.000000000 +0100 @@ -7,7 +7,7 @@ __author__ = "Sebastian Thiel" __contact__ = "byron...@gmail.com" __homepage__ = "https://github.com/gitpython-developers/gitdb" -version_info = (4, 0, 11) +version_info = (4, 0, 12) __version__ = '.'.join(str(i) for i in version_info) setup( @@ -41,6 +41,7 @@ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3 :: Only", ] )