Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-dulwich for openSUSE:Factory checked in at 2022-05-31 15:46:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-dulwich (Old) and /work/SRC/openSUSE:Factory/.python-dulwich.new.1548 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-dulwich" Tue May 31 15:46:48 2022 rev:49 rq:979745 version:0.20.42 Changes: -------- --- /work/SRC/openSUSE:Factory/python-dulwich/python-dulwich.changes 2022-05-24 20:31:17.054914980 +0200 +++ /work/SRC/openSUSE:Factory/.python-dulwich.new.1548/python-dulwich.changes 2022-05-31 15:46:52.823968227 +0200 @@ -1,0 +2,7 @@ +Sun May 29 20:02:11 UTC 2022 - Dirk M??ller <dmuel...@suse.com> + +- update to 0.20.42: + * Drop ``RefsContainer.watch`` that was always flaky. + * Fix wheel uploading, properly. (Ruslan Kuprieiev) + +------------------------------------------------------------------- Old: ---- dulwich-0.20.40.tar.gz New: ---- dulwich-0.20.42.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-dulwich.spec ++++++ --- /var/tmp/diff_new_pack.wtzR42/_old 2022-05-31 15:46:54.267969186 +0200 +++ /var/tmp/diff_new_pack.wtzR42/_new 2022-05-31 15:46:54.271969188 +0200 @@ -20,7 +20,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-dulwich -Version: 0.20.40 +Version: 0.20.42 Release: 0 Summary: Pure-Python Git Library License: Apache-2.0 OR GPL-2.0-or-later ++++++ dulwich-0.20.40.tar.gz -> dulwich-0.20.42.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dulwich-0.20.40/.github/workflows/pythonwheels.yml new/dulwich-0.20.42/.github/workflows/pythonwheels.yml --- old/dulwich-0.20.40/.github/workflows/pythonwheels.yml 2022-05-19 17:41:40.000000000 +0200 +++ new/dulwich-0.20.42/.github/workflows/pythonwheels.yml 2022-05-24 22:03:16.000000000 +0200 @@ -63,23 +63,28 @@ # https://github.com/RalfG/python-wheels-manylinux-build/issues/26 LD_LIBRARY_PATH: /usr/local/lib:${{ env.LD_LIBRARY_PATH }} if: "matrix.os == 'ubuntu-latest'" + - name: Upload wheels (Linux) + uses: actions/upload-artifact@v2 + # Only include *manylinux* wheels; the other wheels files are built but + # rejected by pip. + if: "matrix.os == 'ubuntu-latest'" + with: + name: dist + path: dist/*manylinux*.whl + - name: Upload wheels (non-Linux) + uses: actions/upload-artifact@v2 + with: + name: dist + path: dist/*.whl + if: "matrix.os != 'ubuntu-latest'" publish: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [macos-latest, windows-latest] - python-version: ['3.6', '3.7', '3.8', '3.9', '3.10'] - include: - - os: ubuntu-latest - python-version: '3.x' - # path encoding - fail-fast: false + runs-on: ubuntu-latest needs: build if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/dulwich-') steps: - - name: Set up Python ${{ matrix.python-version }} + - name: Set up Python uses: actions/setup-python@v2 with: python-version: "3.x" @@ -87,19 +92,10 @@ run: | python -m pip install --upgrade pip pip install twine - - name: Publish (Linux) + - name: Download wheels + uses: actions/download-artifact@v2 + - name: Publish wheels env: TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - run: | - # Only include *manylinux* wheels; the other wheels files are built but - # rejected by pip. - twine upload dist/*manylinux*.whl - if: "matrix.os == 'ubuntu-latest'" - - name: Publish (non-Linux) - env: - TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }} - TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }} - run: | - twine upload dist/*.whl - if: "matrix.os != 'ubuntu-latest'" + run: twine upload dist/*.whl diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dulwich-0.20.40/NEWS new/dulwich-0.20.42/NEWS --- old/dulwich-0.20.40/NEWS 2022-05-19 17:43:42.000000000 +0200 +++ new/dulwich-0.20.42/NEWS 2022-05-24 22:04:47.000000000 +0200 @@ -1,3 +1,12 @@ +0.20.42 2022-05-24 + + * Drop ``RefsContainer.watch`` that was always flaky. + (Jelmer Vernoo??, #886) + +0.20.41 2022-05-24 + + * Fix wheel uploading, properly. (Ruslan Kuprieiev) + 0.20.40 2022-05-19 * Fix wheel uploading. (Daniele Trifir??, Jelmer Vernoo??) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dulwich-0.20.40/PKG-INFO new/dulwich-0.20.42/PKG-INFO --- old/dulwich-0.20.40/PKG-INFO 2022-05-19 17:43:51.909788800 +0200 +++ new/dulwich-0.20.42/PKG-INFO 2022-05-24 22:04:50.134373700 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: dulwich -Version: 0.20.40 +Version: 0.20.42 Summary: Python Git Library Home-page: https://www.dulwich.io/ Author: Jelmer Vernooij @@ -28,7 +28,6 @@ Provides-Extra: https Provides-Extra: paramiko Provides-Extra: pgp -Provides-Extra: watch License-File: COPYING License-File: AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dulwich-0.20.40/dulwich/__init__.py new/dulwich-0.20.42/dulwich/__init__.py --- old/dulwich-0.20.40/dulwich/__init__.py 2022-05-19 17:43:42.000000000 +0200 +++ new/dulwich-0.20.42/dulwich/__init__.py 2022-05-24 22:04:47.000000000 +0200 @@ -22,4 +22,4 @@ """Python implementation of the Git file formats and protocols.""" -__version__ = (0, 20, 40) +__version__ = (0, 20, 42) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dulwich-0.20.40/dulwich/refs.py new/dulwich-0.20.42/dulwich/refs.py --- old/dulwich-0.20.40/dulwich/refs.py 2022-05-19 17:41:41.000000000 +0200 +++ new/dulwich-0.20.42/dulwich/refs.py 2022-05-24 22:03:16.000000000 +0200 @@ -430,35 +430,6 @@ ret[src] = dst return ret - def watch(self): - """Watch for changes to the refs in this container. - - Returns a context manager that yields tuples with (refname, new_sha) - """ - raise NotImplementedError(self.watch) - - -class _DictRefsWatcher(object): - def __init__(self, refs): - self._refs = refs - - def __enter__(self): - from queue import Queue - - self.queue = Queue() - self._refs._watchers.add(self) - return self - - def __next__(self): - return self.queue.get() - - def _notify(self, entry): - self.queue.put_nowait(entry) - - def __exit__(self, exc_type, exc_val, exc_tb): - self._refs._watchers.remove(self) - return False - class DictRefsContainer(RefsContainer): """RefsContainer backed by a simple dict. @@ -486,9 +457,6 @@ for watcher in self._watchers: watcher._notify((ref, newsha)) - def watch(self): - return _DictRefsWatcher(self) - def set_symbolic_ref( self, name, @@ -642,50 +610,6 @@ return self._refs[name] -class _InotifyRefsWatcher(object): - def __init__(self, path): - import pyinotify - from queue import Queue - - self.path = os.fsdecode(path) - self.manager = pyinotify.WatchManager() - self.manager.add_watch( - self.path, - pyinotify.IN_DELETE | pyinotify.IN_CLOSE_WRITE | pyinotify.IN_MOVED_TO, - rec=True, - auto_add=True, - ) - - self.notifier = pyinotify.ThreadedNotifier( - self.manager, default_proc_fun=self._notify - ) - self.queue = Queue() - - def _notify(self, event): - if event.dir: - return - if event.pathname.endswith(".lock"): - return - ref = os.fsencode(os.path.relpath(event.pathname, self.path)) - if event.maskname == "IN_DELETE": - self.queue.put_nowait((ref, None)) - elif event.maskname in ("IN_CLOSE_WRITE", "IN_MOVED_TO"): - with open(event.pathname, "rb") as f: - sha = f.readline().rstrip(b"\n\r") - self.queue.put_nowait((ref, sha)) - - def __next__(self): - return self.queue.get() - - def __enter__(self): - self.notifier.start() - return self - - def __exit__(self, exc_type, exc_val, exc_tb): - self.notifier.stop() - return False - - class DiskRefsContainer(RefsContainer): """Refs container that reads refs from disk.""" @@ -1085,11 +1009,6 @@ return True - def watch(self): - import pyinotify # noqa: F401 - - return _InotifyRefsWatcher(self.path) - def _split_ref_line(line): """Split a single ref line into a tuple of SHA1 and name.""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dulwich-0.20.40/dulwich/tests/test_refs.py new/dulwich-0.20.42/dulwich/tests/test_refs.py --- old/dulwich-0.20.40/dulwich/tests/test_refs.py 2022-05-19 17:41:41.000000000 +0200 +++ new/dulwich-0.20.42/dulwich/tests/test_refs.py 2022-05-24 22:03:16.000000000 +0200 @@ -355,39 +355,6 @@ ) self.assertNotIn(b"refs/remotes/origin/other", self._refs) - def test_watch(self): - self.skipTest("watch sometimes hangs") - try: - watcher = self._refs.watch() - except (NotImplementedError, ImportError): - self.skipTest("watching not supported") - with watcher: - self._refs[ - b"refs/remotes/origin/other" - ] = b"48d01bd4b77fed026b154d16493e5deab78f02ec" - change = next(watcher) - self.assertEqual( - ( - b"refs/remotes/origin/other", - b"48d01bd4b77fed026b154d16493e5deab78f02ec", - ), - change, - ) - self._refs[ - b"refs/remotes/origin/other" - ] = b"48d01bd4b77fed026b154d16493e5deab78f02ed" - change = next(watcher) - self.assertEqual( - ( - b"refs/remotes/origin/other", - b"48d01bd4b77fed026b154d16493e5deab78f02ed", - ), - change, - ) - del self._refs[b"refs/remotes/origin/other"] - change = next(watcher) - self.assertEqual((b"refs/remotes/origin/other", None), change) - class DictRefsContainerTests(RefsContainerTests, TestCase): def setUp(self): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dulwich-0.20.40/dulwich.egg-info/PKG-INFO new/dulwich-0.20.42/dulwich.egg-info/PKG-INFO --- old/dulwich-0.20.40/dulwich.egg-info/PKG-INFO 2022-05-19 17:43:51.000000000 +0200 +++ new/dulwich-0.20.42/dulwich.egg-info/PKG-INFO 2022-05-24 22:04:49.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: dulwich -Version: 0.20.40 +Version: 0.20.42 Summary: Python Git Library Home-page: https://www.dulwich.io/ Author: Jelmer Vernooij @@ -28,7 +28,6 @@ Provides-Extra: https Provides-Extra: paramiko Provides-Extra: pgp -Provides-Extra: watch License-File: COPYING License-File: AUTHORS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dulwich-0.20.40/dulwich.egg-info/requires.txt new/dulwich-0.20.42/dulwich.egg-info/requires.txt --- old/dulwich-0.20.40/dulwich.egg-info/requires.txt 2022-05-19 17:43:51.000000000 +0200 +++ new/dulwich-0.20.42/dulwich.egg-info/requires.txt 2022-05-24 22:04:49.000000000 +0200 @@ -12,6 +12,3 @@ [pgp] gpg - -[watch] -pyinotify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/dulwich-0.20.40/setup.py new/dulwich-0.20.42/setup.py --- old/dulwich-0.20.40/setup.py 2022-05-19 17:43:42.000000000 +0200 +++ new/dulwich-0.20.42/setup.py 2022-05-24 22:04:47.000000000 +0200 @@ -23,7 +23,7 @@ 'For 2.7 support, please install a version prior to 0.20') -dulwich_version_string = '0.20.40' +dulwich_version_string = '0.20.42' class DulwichDistribution(Distribution): @@ -78,7 +78,6 @@ 'fastimport': ['fastimport'], 'https': ['urllib3[secure]>=1.24.1'], 'pgp': ['gpg'], - 'watch': ['pyinotify'], 'paramiko': ['paramiko'], } setup_kwargs['install_requires'] = ['urllib3>=1.24.1', 'certifi']