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 2022-12-07 17:34:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-gitdb (Old) and /work/SRC/openSUSE:Factory/.python-gitdb.new.1835 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-gitdb" Wed Dec 7 17:34:44 2022 rev:5 rq:1040750 version:4.0.10 Changes: -------- --- /work/SRC/openSUSE:Factory/python-gitdb/python-gitdb.changes 2021-10-29 22:33:01.531654750 +0200 +++ /work/SRC/openSUSE:Factory/.python-gitdb.new.1835/python-gitdb.changes 2022-12-07 17:36:03.664899225 +0100 @@ -1,0 +2,6 @@ +Tue Dec 6 03:33:13 UTC 2022 - Yogalakshmi Arunachalam <yarunacha...@suse.com> + +- Update to v4.0.10: + * improvements to the way external packages are imported. + +------------------------------------------------------------------- Old: ---- gitdb-4.0.9.tar.gz New: ---- gitdb-4.0.10.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-gitdb.spec ++++++ --- /var/tmp/diff_new_pack.jVYOg5/_old 2022-12-07 17:36:04.136901809 +0100 +++ /var/tmp/diff_new_pack.jVYOg5/_new 2022-12-07 17:36:04.140901831 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-gitdb # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %global skip_python2 1 Name: python-gitdb -Version: 4.0.9 +Version: 4.0.10 Release: 0 Summary: Git Object Database License: BSD-3-Clause ++++++ gitdb-4.0.9.tar.gz -> gitdb-4.0.10.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/PKG-INFO new/gitdb-4.0.10/PKG-INFO --- old/gitdb-4.0.9/PKG-INFO 2021-10-24 15:40:35.535669000 +0200 +++ new/gitdb-4.0.10/PKG-INFO 2022-11-24 06:26:36.159457700 +0100 @@ -1,12 +1,11 @@ -Metadata-Version: 1.2 +Metadata-Version: 2.1 Name: gitdb -Version: 4.0.9 +Version: 4.0.10 Summary: Git Object Database Home-page: https://github.com/gitpython-developers/gitdb Author: Sebastian Thiel Author-email: byron...@gmail.com License: BSD License -Description: GitDB is a pure-Python git object database Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console @@ -18,8 +17,15 @@ Classifier: Operating System :: MacOS :: MacOS X Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 -Requires-Python: >=3.6 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3 :: Only +Requires-Python: >=3.7 +License-File: LICENSE +License-File: AUTHORS + +GitDB is a pure-Python git object database + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/README.rst new/gitdb-4.0.10/README.rst --- old/gitdb-4.0.9/README.rst 2020-04-11 08:45:41.000000000 +0200 +++ new/gitdb-4.0.10/README.rst 2022-02-21 03:44:59.000000000 +0100 @@ -30,7 +30,7 @@ REQUIREMENTS ============ -* Python Nose - for running the tests +* pytest - for running the tests SOURCE ====== @@ -45,7 +45,7 @@ Run the tests with - nosetests + pytest DEVELOPMENT =========== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/__init__.py new/gitdb-4.0.10/gitdb/__init__.py --- old/gitdb-4.0.9/gitdb/__init__.py 2021-10-24 15:38:50.000000000 +0200 +++ new/gitdb-4.0.10/gitdb/__init__.py 2022-11-24 06:21:30.000000000 +0100 @@ -12,16 +12,14 @@ def _init_externals(): """Initialize external projects by putting them into the path""" - for module in ('smmap',): - if 'PYOXIDIZER' not in os.environ: - sys.path.append(os.path.join(os.path.dirname(__file__), 'ext', module)) - - try: - __import__(module) - except ImportError as e: - raise ImportError("'%s' could not be imported, assure it is located in your PYTHONPATH" % module) from e - # END verify import - # END handel imports + 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 @@ -30,7 +28,7 @@ __author__ = "Sebastian Thiel" __contact__ = "byron...@gmail.com" __homepage__ = "https://github.com/gitpython-developers/gitdb" -version_info = (4, 0, 9) +version_info = (4, 0, 10) __version__ = '.'.join(str(i) for i in version_info) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/db/base.py new/gitdb-4.0.10/gitdb/db/base.py --- old/gitdb-4.0.9/gitdb/db/base.py 2021-10-23 02:29:13.000000000 +0200 +++ new/gitdb-4.0.10/gitdb/db/base.py 2022-11-24 06:17:34.000000000 +0100 @@ -22,7 +22,7 @@ __all__ = ('ObjectDBR', 'ObjectDBW', 'FileDBBase', 'CompoundDB', 'CachingDB') -class ObjectDBR(object): +class ObjectDBR: """Defines an interface for object database lookup. Objects are identified either by their 20 byte bin sha""" @@ -63,7 +63,7 @@ #} END query interface -class ObjectDBW(object): +class ObjectDBW: """Defines an interface to create objects in the database""" @@ -105,7 +105,7 @@ #} END edit interface -class FileDBBase(object): +class FileDBBase: """Provides basic facilities to retrieve files of interest, including caching facilities to help mapping hexsha's to objects""" @@ -117,7 +117,7 @@ **Note:** The base will not perform any accessablity checking as the base might not yet be accessible, but become accessible before the first access.""" - super(FileDBBase, self).__init__() + super().__init__() self._root_path = root_path #{ Interface @@ -133,7 +133,7 @@ #} END interface -class CachingDB(object): +class CachingDB: """A database which uses caches to speed-up access""" @@ -176,7 +176,7 @@ elif attr == '_db_cache': self._db_cache = dict() else: - super(CompoundDB, self)._set_cache_(attr) + super()._set_cache_(attr) def _db_query(self, sha): """:return: database containing the given 20 byte sha diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/db/git.py new/gitdb-4.0.10/gitdb/db/git.py --- old/gitdb-4.0.9/gitdb/db/git.py 2020-02-15 02:33:41.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/db/git.py 2022-11-24 06:17:34.000000000 +0100 @@ -39,7 +39,7 @@ def __init__(self, root_path): """Initialize ourselves on a git objects directory""" - super(GitDB, self).__init__(root_path) + super().__init__(root_path) def _set_cache_(self, attr): if attr == '_dbs' or attr == '_loose_db': @@ -68,7 +68,7 @@ # finally set the value self._loose_db = loose_db else: - super(GitDB, self)._set_cache_(attr) + super()._set_cache_(attr) # END handle attrs #{ ObjectDBW interface diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/db/loose.py new/gitdb-4.0.10/gitdb/db/loose.py --- old/gitdb-4.0.9/gitdb/db/loose.py 2021-01-21 06:15:15.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/db/loose.py 2022-11-24 06:17:34.000000000 +0100 @@ -75,7 +75,7 @@ new_objects_mode = int("644", 8) def __init__(self, root_path): - super(LooseObjectDB, self).__init__(root_path) + super().__init__(root_path) self._hexsha_to_file = dict() # Additional Flags - might be set to 0 after the first failure # Depending on the root, this might work for some mounts, for others not, which @@ -151,7 +151,7 @@ """:raise TypeError: if the stream does not support the Sha1Writer interface""" if stream is not None and not isinstance(stream, Sha1Writer): raise TypeError("Output stream musst support the %s interface" % Sha1Writer.__name__) - return super(LooseObjectDB, self).set_ostream(stream) + return super().set_ostream(stream) def info(self, sha): m = self._map_loose_object(sha) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/db/mem.py new/gitdb-4.0.10/gitdb/db/mem.py --- old/gitdb-4.0.9/gitdb/db/mem.py 2021-10-23 02:29:13.000000000 +0200 +++ new/gitdb-4.0.10/gitdb/db/mem.py 2022-11-24 06:17:34.000000000 +0100 @@ -37,7 +37,7 @@ exists in the target storage before introducing actual IO""" def __init__(self): - super(MemoryDB, self).__init__() + super().__init__() self._db = LooseObjectDB("path/doesnt/matter") # maps 20 byte shas to their OStream objects diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/db/pack.py new/gitdb-4.0.10/gitdb/db/pack.py --- old/gitdb-4.0.9/gitdb/db/pack.py 2020-02-17 04:15:01.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/db/pack.py 2022-11-24 06:17:34.000000000 +0100 @@ -39,7 +39,7 @@ _sort_interval = 500 def __init__(self, root_path): - super(PackedDB, self).__init__(root_path) + super().__init__(root_path) # list of lists with three items: # * hits - number of times the pack was hit with a request # * entity - Pack entity instance @@ -131,7 +131,7 @@ def update_cache(self, force=False): """ - Update our cache with the acutally existing packs on disk. Add new ones, + Update our cache with the actually existing packs on disk. Add new ones, and remove deleted ones. We keep the unchanged ones :param force: If True, the cache will be updated even though the directory diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/db/ref.py new/gitdb-4.0.10/gitdb/db/ref.py --- old/gitdb-4.0.9/gitdb/db/ref.py 2020-02-15 02:33:41.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/db/ref.py 2022-11-24 06:17:34.000000000 +0100 @@ -20,7 +20,7 @@ ObjectDBCls = None def __init__(self, ref_file): - super(ReferenceDB, self).__init__() + super().__init__() self._ref_file = ref_file def _set_cache_(self, attr): @@ -28,7 +28,7 @@ self._dbs = list() self._update_dbs_from_ref_file() else: - super(ReferenceDB, self)._set_cache_(attr) + super()._set_cache_(attr) # END handle attrs def _update_dbs_from_ref_file(self): @@ -44,7 +44,7 @@ try: with codecs.open(self._ref_file, 'r', encoding="utf-8") as f: ref_paths = [l.strip() for l in f] - except (OSError, IOError): + except OSError: pass # END handle alternates @@ -79,4 +79,4 @@ def update_cache(self, force=False): # re-read alternates and update databases self._update_dbs_from_ref_file() - return super(ReferenceDB, self).update_cache(force) + return super().update_cache(force) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/fun.py new/gitdb-4.0.10/gitdb/fun.py --- old/gitdb-4.0.9/gitdb/fun.py 2020-02-17 04:15:01.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/fun.py 2022-11-24 06:17:34.000000000 +0100 @@ -103,7 +103,7 @@ write(bbuf[dc.so:dc.so + dc.ts]) else: # APPEND DATA - # whats faster: if + 4 function calls or just a write with a slice ? + # what's faster: if + 4 function calls or just a write with a slice ? # Considering data can be larger than 127 bytes now, it should be worth it if dc.ts < len(dc.data): write(dc.data[:dc.ts]) @@ -113,7 +113,7 @@ # END handle chunk mode -class DeltaChunk(object): +class DeltaChunk: """Represents a piece of a delta, it can either add new data, or copy existing one from a source buffer""" @@ -292,7 +292,7 @@ """Verify the list has non-overlapping chunks only, and the total size matches target_size :param target_size: if not -1, the total size of the chain must be target_size - :raise AssertionError: if the size doen't match""" + :raise AssertionError: if the size doesn't match""" if target_size > -1: assert self[-1].rbound() == target_size assert reduce(lambda x, y: x + y, (d.ts for d in self), 0) == target_size @@ -331,7 +331,7 @@ cannot be changed by any of the upcoming bases anymore. Once all our chunks are marked like that, we can stop all processing :param bdcl: data chunk list being one of our bases. They must be fed in - consequtively and in order, towards the earliest ancestor delta + consecutively and in order, towards the earliest ancestor delta :return: True if processing was done. Use it to abort processing of remaining streams if False is returned""" nfc = 0 # number of frozen chunks @@ -624,7 +624,7 @@ :param src_buf: random access data from which the delta was created :param src_buf_size: size of the source buffer in bytes - :param delta_buf_size: size fo the delta buffer in bytes + :param delta_buf_size: size for the delta buffer in bytes :param delta_buf: random access delta data :param write: write method taking a chunk of bytes diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/pack.py new/gitdb-4.0.10/gitdb/pack.py --- old/gitdb-4.0.9/gitdb/pack.py 2020-02-17 04:15:01.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/pack.py 2022-11-24 06:17:34.000000000 +0100 @@ -170,7 +170,7 @@ #} END utilities -class IndexWriter(object): +class IndexWriter: """Utility to cache index information, allowing to write all information later in one go to the given stream @@ -224,7 +224,7 @@ if ofs > 0x7fffffff: tmplist.append(ofs) ofs = 0x80000000 + len(tmplist) - 1 - # END hande 64 bit offsets + # END handle 64 bit offsets sha_write(pack('>L', ofs & 0xffffffff)) # END for each offset @@ -257,7 +257,7 @@ index_version_default = 2 def __init__(self, indexpath): - super(PackIndexFile, self).__init__() + super().__init__() self._indexpath = indexpath def close(self): @@ -506,7 +506,7 @@ """A pack is a file written according to the Version 2 for git packs As we currently use memory maps, it could be assumed that the maximum size of - packs therefor is 32 bit on 32 bit systems. On 64 bit systems, this should be + packs therefore is 32 bit on 32 bit systems. On 64 bit systems, this should be fine though. **Note:** at some point, this might be implemented using streams as well, or diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/stream.py new/gitdb-4.0.10/gitdb/stream.py --- old/gitdb-4.0.9/gitdb/stream.py 2021-10-23 02:29:13.000000000 +0200 +++ new/gitdb-4.0.10/gitdb/stream.py 2022-11-24 06:17:34.000000000 +0100 @@ -219,13 +219,13 @@ # END clamp size if size == 0: - return bytes() + return b'' # END handle depletion # deplete the buffer, then just continue using the decompress object # which has an own buffer. We just need this to transparently parse the # header from the zlib stream - dat = bytes() + dat = b'' if self._buf: if self._buflen >= size: # have enough data @@ -289,7 +289,7 @@ # They are thorough, and I assume it is truly working. # Why is this logic as convoluted as it is ? Please look at the table in # https://github.com/gitpython-developers/gitdb/issues/19 to learn about the test-results. - # Bascially, on py2.6, you want to use branch 1, whereas on all other python version, the second branch + # Basically, on py2.6, you want to use branch 1, whereas on all other python version, the second branch # will be the one that works. # However, the zlib VERSIONs as well as the platform check is used to further match the entries in the # table in the github issue. This is it ... it was the only way I could make this work everywhere. @@ -553,7 +553,7 @@ #{ W Streams -class Sha1Writer(object): +class Sha1Writer: """Simple stream writer which produces a sha whenever you like as it degests everything it is supposed to write""" @@ -650,7 +650,7 @@ exc = IOError("Failed to write all bytes to filedescriptor") def __init__(self, fd): - super(FDCompressedSha1Writer, self).__init__() + super().__init__() self.fd = fd self.zip = zlib.compressobj(zlib.Z_BEST_SPEED) @@ -677,7 +677,7 @@ #} END stream interface -class FDStream(object): +class FDStream: """A simple wrapper providing the most basic functions on a file descriptor with the fileobject interface. Cannot use os.fdopen as the resulting stream @@ -711,7 +711,7 @@ close(self._fd) -class NullStream(object): +class NullStream: """A stream that does nothing but providing a stream interface. Use it like /dev/null""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/test/db/lib.py new/gitdb-4.0.10/gitdb/test/db/lib.py --- old/gitdb-4.0.9/gitdb/test/db/lib.py 2021-10-23 02:29:13.000000000 +0200 +++ new/gitdb-4.0.10/gitdb/test/db/lib.py 2022-11-24 06:17:33.000000000 +0100 @@ -107,7 +107,7 @@ # DIRECT STREAM COPY # our data hase been written in object format to the StringIO - # we pasesd as output stream. No physical database representation + # we passed as output stream. No physical database representation # was created. # Test direct stream copy of object streams, the result must be # identical to what we fed in diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/test/db/test_pack.py new/gitdb-4.0.10/gitdb/test/db/test_pack.py --- old/gitdb-4.0.9/gitdb/test/db/test_pack.py 2021-10-23 02:29:13.000000000 +0200 +++ new/gitdb-4.0.10/gitdb/test/db/test_pack.py 2022-11-24 06:17:33.000000000 +0100 @@ -16,7 +16,7 @@ import random import sys -from nose.plugins.skip import SkipTest +import pytest class TestPackDB(TestDBBase): @@ -24,7 +24,7 @@ @with_packs_rw def test_writing(self, path): if sys.platform == "win32": - raise SkipTest("FIXME: Currently fail on windows") + pytest.skip("FIXME: Currently fail on windows") pdb = PackedDB(path) @@ -80,7 +80,7 @@ # END for each sha to find # we should have at least one ambiguous, considering the small sizes - # but in our pack, there is no ambigious ... + # but in our pack, there is no ambiguous ... # assert num_ambiguous # non-existing diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/test/db/test_ref.py new/gitdb-4.0.10/gitdb/test/db/test_ref.py --- old/gitdb-4.0.9/gitdb/test/db/test_ref.py 2020-02-15 02:33:41.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/test/db/test_ref.py 2022-11-24 06:17:34.000000000 +0100 @@ -23,7 +23,7 @@ The list can be empty""" with open(alt_path, "wb") as alt_file: for alt in alt_list: - alt_file.write(alt.encode("utf-8") + "\n".encode("ascii")) + alt_file.write(alt.encode("utf-8") + b"\n") @with_rw_directory def test_writing(self, path): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/test/lib.py new/gitdb-4.0.10/gitdb/test/lib.py --- old/gitdb-4.0.9/gitdb/test/lib.py 2020-02-17 04:15:01.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/test/lib.py 2022-11-24 06:17:34.000000000 +0100 @@ -40,7 +40,7 @@ @classmethod def setUpClass(cls): try: - super(TestBase, cls).setUpClass() + super().setUpClass() except AttributeError: pass @@ -58,21 +58,6 @@ #{ Decorators -def skip_on_travis_ci(func): - """All tests decorated with this one will raise SkipTest when run on travis ci. - Use it to workaround difficult to solve issues - NOTE: copied from bcore (https://github.com/Byron/bcore)""" - @wraps(func) - def wrapper(self, *args, **kwargs): - if 'TRAVIS' in os.environ: - import nose - raise nose.SkipTest("Cannot run on travis-ci") - # end check for travis ci - return func(self, *args, **kwargs) - # end wrapper - return wrapper - - def with_rw_directory(func): """Create a temporary directory which can be written to, remove it if the test succeeds, but leave it otherwise to aid additional debugging""" @@ -85,7 +70,7 @@ try: return func(self, path) except Exception: - sys.stderr.write("Test {}.{} failed, output is at {!r}\n".format(type(self).__name__, func.__name__, path)) + sys.stderr.write(f"Test {type(self).__name__}.{func.__name__} failed, output is at {path!r}\n") keep = True raise finally: @@ -176,7 +161,7 @@ #{ Stream Utilities -class DummyStream(object): +class DummyStream: def __init__(self): self.was_read = False diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/test/performance/test_pack.py new/gitdb-4.0.10/gitdb/test/performance/test_pack.py --- old/gitdb-4.0.9/gitdb/test/performance/test_pack.py 2020-02-17 04:15:01.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/test/performance/test_pack.py 2022-11-24 06:17:34.000000000 +0100 @@ -3,7 +3,6 @@ # This module is part of GitDB and is released under # the New BSD License: http://www.opensource.org/licenses/bsd-license.php """Performance tests for object store""" -from __future__ import print_function from gitdb.test.performance.lib import ( TestBigRepoR @@ -17,7 +16,6 @@ from gitdb.typ import str_blob_type from gitdb.exc import UnsupportedOperation from gitdb.db.pack import PackedDB -from gitdb.test.lib import skip_on_travis_ci import sys import os @@ -26,7 +24,6 @@ class TestPackedDBPerformance(TestBigRepoR): - @skip_on_travis_ci def test_pack_random_access(self): pdb = PackedDB(os.path.join(self.gitrepopath, "objects/pack")) @@ -79,7 +76,6 @@ print("PDB: Obtained %i streams by sha and read all bytes totallying %i KiB ( %f KiB / s ) in %f s ( %f streams/s )" % (max_items, total_kib, total_kib / (elapsed or 1), elapsed, max_items / (elapsed or 1)), file=sys.stderr) - @skip_on_travis_ci def test_loose_correctness(self): """based on the pack(s) of our packed object DB, we will just copy and verify all objects in the back into the loose object db (memory). @@ -106,7 +102,6 @@ mdb._cache.clear() # end for each sha to copy - @skip_on_travis_ci def test_correctness(self): pdb = PackedDB(os.path.join(self.gitrepopath, "objects/pack")) # disabled for now as it used to work perfectly, checking big repositories takes a long time diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/test/performance/test_pack_streaming.py new/gitdb-4.0.10/gitdb/test/performance/test_pack_streaming.py --- old/gitdb-4.0.9/gitdb/test/performance/test_pack_streaming.py 2020-02-15 02:33:41.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/test/performance/test_pack_streaming.py 2022-11-24 06:17:34.000000000 +0100 @@ -3,7 +3,6 @@ # This module is part of GitDB and is released under # the New BSD License: http://www.opensource.org/licenses/bsd-license.php """Specific test for pack streams only""" -from __future__ import print_function from gitdb.test.performance.lib import ( TestBigRepoR @@ -12,7 +11,6 @@ from gitdb.db.pack import PackedDB from gitdb.stream import NullStream from gitdb.pack import PackEntity -from gitdb.test.lib import skip_on_travis_ci import os import sys @@ -34,7 +32,6 @@ class TestPackStreamingPerformance(TestBigRepoR): - @skip_on_travis_ci def test_pack_writing(self): # see how fast we can write a pack from object streams. # This will not be fast, as we take time for decompressing the streams as well @@ -61,7 +58,6 @@ print(sys.stderr, "PDB Streaming: Wrote pack of size %i kb in %f s (%f kb/s)" % (total_kb, elapsed, total_kb / (elapsed or 1)), sys.stderr) - @skip_on_travis_ci def test_stream_reading(self): # raise SkipTest() pdb = PackedDB(os.path.join(self.gitrepopath, "objects/pack")) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/test/performance/test_stream.py new/gitdb-4.0.10/gitdb/test/performance/test_stream.py --- old/gitdb-4.0.9/gitdb/test/performance/test_stream.py 2020-02-15 02:33:41.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/test/performance/test_stream.py 2022-11-24 06:17:34.000000000 +0100 @@ -3,7 +3,6 @@ # This module is part of GitDB and is released under # the New BSD License: http://www.opensource.org/licenses/bsd-license.php """Performance data streaming performance""" -from __future__ import print_function from gitdb.test.performance.lib import TestBigRepoR from gitdb.db import LooseObjectDB @@ -20,7 +19,6 @@ from gitdb.test.lib import ( make_memory_file, with_rw_directory, - skip_on_travis_ci ) @@ -44,7 +42,6 @@ large_data_size_bytes = 1000 * 1000 * 50 # some MiB should do it moderate_data_size_bytes = 1000 * 1000 * 1 # just 1 MiB - @skip_on_travis_ci @with_rw_directory def test_large_data_streaming(self, path): ldb = LooseObjectDB(path) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/test/test_example.py new/gitdb-4.0.10/gitdb/test/test_example.py --- old/gitdb-4.0.9/gitdb/test/test_example.py 2020-02-15 02:33:41.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/test/test_example.py 2022-11-24 06:17:34.000000000 +0100 @@ -32,7 +32,7 @@ pass # END ignore exception if there are no loose objects - data = "my data".encode("ascii") + data = b"my data" istream = IStream("blob", len(data), BytesIO(data)) # the object does not yet have a sha diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/test/test_pack.py new/gitdb-4.0.10/gitdb/test/test_pack.py --- old/gitdb-4.0.9/gitdb/test/test_pack.py 2021-10-23 02:29:13.000000000 +0200 +++ new/gitdb-4.0.10/gitdb/test/test_pack.py 2022-11-24 06:17:33.000000000 +0100 @@ -26,7 +26,7 @@ from gitdb.exc import UnsupportedOperation from gitdb.util import to_bin_sha -from nose import SkipTest +import pytest import os import tempfile @@ -101,7 +101,7 @@ dstream = DeltaApplyReader.new(streams) except ValueError: # ignore these, old git versions use only ref deltas, - # which we havent resolved ( as we are without an index ) + # which we haven't resolved ( as we are without an index ) # Also ignore non-delta streams continue # END get deltastream @@ -246,4 +246,4 @@ def test_pack_64(self): # TODO: hex-edit a pack helping us to verify that we can handle 64 byte offsets # of course without really needing such a huge pack - raise SkipTest() + pytest.skip('not implemented') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/test/test_stream.py new/gitdb-4.0.10/gitdb/test/test_stream.py --- old/gitdb-4.0.9/gitdb/test/test_stream.py 2021-10-23 02:29:13.000000000 +0200 +++ new/gitdb-4.0.10/gitdb/test/test_stream.py 2022-11-24 06:17:34.000000000 +0100 @@ -115,13 +115,13 @@ def test_sha_writer(self): writer = Sha1Writer() - assert 2 == writer.write("hi".encode("ascii")) + assert 2 == writer.write(b"hi") assert len(writer.sha(as_hex=1)) == 40 assert len(writer.sha(as_hex=0)) == 20 # make sure it does something ;) prev_sha = writer.sha() - writer.write("hi again".encode("ascii")) + writer.write(b"hi again") assert writer.sha() != prev_sha def test_compressed_writer(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb/util.py new/gitdb-4.0.10/gitdb/util.py --- old/gitdb-4.0.9/gitdb/util.py 2021-01-21 06:15:15.000000000 +0100 +++ new/gitdb-4.0.10/gitdb/util.py 2022-11-24 06:17:34.000000000 +0100 @@ -94,7 +94,7 @@ #{ compatibility stuff ... -class _RandomAccessBytesIO(object): +class _RandomAccessBytesIO: """Wrapper to provide required functionality in case memory maps cannot or may not be used. This is only really required in python 2.4""" @@ -131,7 +131,7 @@ #{ Routines -def make_sha(source=''.encode("ascii")): +def make_sha(source=b''): """A python2.4 workaround for the sha/hashlib module fiasco **Note** From the dulwich project """ @@ -151,7 +151,7 @@ try: return mmap.mmap(-1, size) # read-write by default - except EnvironmentError: + except OSError: # setup real memory instead # this of course may fail if the amount of memory is not available in # one chunk - would only be the case in python 2.4, being more likely on @@ -174,7 +174,7 @@ # supports stream and random access try: return mmap.mmap(fd, 0, access=mmap.ACCESS_READ) - except EnvironmentError: + except OSError: # python 2.4 issue, 0 wants to be the actual size return mmap.mmap(fd, os.fstat(fd).st_size, access=mmap.ACCESS_READ) # END handle python 2.4 @@ -182,7 +182,7 @@ pass # END exception handling - # read manully + # read manually contents = os.read(fd, os.fstat(fd).st_size) if stream: return _RandomAccessBytesIO(contents) @@ -234,7 +234,7 @@ #{ Utilities -class LazyMixin(object): +class LazyMixin: """ Base class providing an interface to lazily retrieve attribute values upon @@ -248,7 +248,7 @@ def __getattr__(self, attr): """ Whenever an attribute is requested that we do not know, we allow it - to be created and set. Next time the same attribute is reqeusted, it is simply + to be created and set. Next time the same attribute is requested, it is simply returned from our dict/slots. """ self._set_cache_(attr) # will raise in case the cache was not created @@ -266,7 +266,7 @@ pass -class LockedFD(object): +class LockedFD: """ This class facilitates a safe read and write operation to a file on disk. @@ -327,12 +327,12 @@ self._fd = fd # END handle file descriptor except OSError as e: - raise IOError("Lock at %r could not be obtained" % self._lockfilepath()) from e + raise OSError("Lock at %r could not be obtained" % self._lockfilepath()) from e # END handle lock retrieval # open actual file if required if self._fd is None: - # we could specify exlusive here, as we obtained the lock anyway + # we could specify exclusive here, as we obtained the lock anyway try: self._fd = os.open(self._filepath, os.O_RDONLY | binary) except: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/gitdb.egg-info/PKG-INFO new/gitdb-4.0.10/gitdb.egg-info/PKG-INFO --- old/gitdb-4.0.9/gitdb.egg-info/PKG-INFO 2021-10-24 15:40:35.000000000 +0200 +++ new/gitdb-4.0.10/gitdb.egg-info/PKG-INFO 2022-11-24 06:26:36.000000000 +0100 @@ -1,12 +1,11 @@ -Metadata-Version: 1.2 +Metadata-Version: 2.1 Name: gitdb -Version: 4.0.9 +Version: 4.0.10 Summary: Git Object Database Home-page: https://github.com/gitpython-developers/gitdb Author: Sebastian Thiel Author-email: byron...@gmail.com License: BSD License -Description: GitDB is a pure-Python git object database Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Environment :: Console @@ -18,8 +17,15 @@ Classifier: Operating System :: MacOS :: MacOS X Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 -Requires-Python: >=3.6 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3 :: Only +Requires-Python: >=3.7 +License-File: LICENSE +License-File: AUTHORS + +GitDB is a pure-Python git object database + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gitdb-4.0.9/setup.py new/gitdb-4.0.10/setup.py --- old/gitdb-4.0.9/setup.py 2021-10-24 15:38:50.000000000 +0200 +++ new/gitdb-4.0.10/setup.py 2022-11-24 06:21:38.000000000 +0100 @@ -7,7 +7,7 @@ __author__ = "Sebastian Thiel" __contact__ = "byron...@gmail.com" __homepage__ = "https://github.com/gitpython-developers/gitdb" -version_info = (4, 0, 9) +version_info = (4, 0, 10) __version__ = '.'.join(str(i) for i in version_info) setup( @@ -22,7 +22,7 @@ zip_safe=False, install_requires=['smmap>=3.0.1,<6'], long_description="""GitDB is a pure-Python git object database""", - python_requires='>=3.6', + python_requires='>=3.7', # See https://pypi.python.org/pypi?%3Aaction=list_classifiers classifiers=[ "Development Status :: 5 - Production/Stable", @@ -35,9 +35,11 @@ "Operating System :: MacOS :: MacOS X", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3 :: Only", ] )