Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-merge3 for openSUSE:Factory checked in at 2024-11-14 16:10:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-merge3 (Old) and /work/SRC/openSUSE:Factory/.python-merge3.new.2017 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-merge3" Thu Nov 14 16:10:06 2024 rev:4 rq:1224132 version:0.0.15 Changes: -------- --- /work/SRC/openSUSE:Factory/python-merge3/python-merge3.changes 2024-03-26 19:29:57.650896342 +0100 +++ /work/SRC/openSUSE:Factory/.python-merge3.new.2017/python-merge3.changes 2024-11-14 16:11:08.692896532 +0100 @@ -1,0 +2,9 @@ +Thu Nov 14 08:13:30 UTC 2024 - John Paul Adrian Glaubitz <adrian.glaub...@suse.com> + +- Update to 0.0.15 + * Migrate to ruff + * Support building wheels + * Add dependabot config +- Switch upstream source from PyPi to Github + +------------------------------------------------------------------- Old: ---- merge3-0.0.14.tar.gz New: ---- merge3-0.0.15.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-merge3.spec ++++++ --- /var/tmp/diff_new_pack.kHhwFb/_old 2024-11-14 16:11:09.340923514 +0100 +++ /var/tmp/diff_new_pack.kHhwFb/_new 2024-11-14 16:11:09.340923514 +0100 @@ -18,12 +18,12 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-merge3 -Version: 0.0.14 +Version: 0.0.15 Release: 0 Summary: Python implementation of 3-way merge License: GPL-2.0-or-later URL: https://github.com/breezy-team/merge3 -Source: https://files.pythonhosted.org/packages/source/m/merge3/merge3-%{version}.tar.gz +Source: %{url}/archive/v%{version}.tar.gz#/merge3-%{version}.tar.gz BuildRequires: %{python_module pip} BuildRequires: %{python_module pytest} BuildRequires: %{python_module setuptools} ++++++ merge3-0.0.14.tar.gz -> merge3-0.0.15.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/.github/dependabot.yaml new/merge3-0.0.15/.github/dependabot.yaml --- old/merge3-0.0.14/.github/dependabot.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/merge3-0.0.15/.github/dependabot.yaml 2024-05-05 17:52:16.000000000 +0200 @@ -0,0 +1,13 @@ +# Keep GitHub Actions up to date with GitHub's Dependabot... +# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot +# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#package-ecosystem +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: weekly + - package-ecosystem: "pip" + directory: "/" + schedule: + interval: weekly diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/.github/workflows/pythonpackage.yml new/merge3-0.0.15/.github/workflows/pythonpackage.yml --- old/merge3-0.0.14/.github/workflows/pythonpackage.yml 2023-09-17 13:50:13.000000000 +0200 +++ new/merge3-0.0.15/.github/workflows/pythonpackage.yml 2024-05-05 17:52:16.000000000 +0200 @@ -10,7 +10,7 @@ strategy: matrix: os: [ubuntu-latest, macos-latest, windows-latest] - python-version: [3.7, 3.8, 3.9, '3.10', '3.11'] + python-version: [3.8, 3.9, '3.10', '3.11', '3.12'] fail-fast: false steps: @@ -21,8 +21,8 @@ python-version: ${{ matrix.python-version }} - name: Style checks run: | - pip install -U flake8 - python -m flake8 + pip install -U ".[dev]" + python -m ruff check . - name: Test suite run run: | python -m unittest test_merge3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/.github/workflows/wheels.yaml new/merge3-0.0.15/.github/workflows/wheels.yaml --- old/merge3-0.0.14/.github/workflows/wheels.yaml 1970-01-01 01:00:00.000000000 +0100 +++ new/merge3-0.0.15/.github/workflows/wheels.yaml 2024-05-05 17:52:16.000000000 +0200 @@ -0,0 +1,85 @@ +name: Build Python distributions + +on: + push: + pull_request: + schedule: + - cron: "0 6 * * *" # Daily 6AM UTC build + +jobs: + build-wheels: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest] + fail-fast: true + + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install build + - name: Build wheels + run: python -m build --wheel + - name: Upload wheels + uses: actions/upload-artifact@v3 + with: + path: ./dist/*.whl + + build-sdist: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install build + - name: Build sdist + run: python -m build --sdist + - name: Upload sdist + uses: actions/upload-artifact@v3 + with: + path: ./dist/*.tar.gz + + test-sdist: + needs: + - build-sdist + runs-on: ubuntu-latest + steps: + - uses: actions/setup-python@v5 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install twine + - name: Download sdist + uses: actions/download-artifact@v2 + with: + name: artifact + path: dist + - name: Test sdist + run: twine check dist/* + - name: Test installation from sdist + run: pip install dist/*.tar.gz + + publish: + runs-on: ubuntu-latest + needs: + - build-wheels + - build-sdist + if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') + permissions: + id-token: write + environment: + name: pypi + url: https://pypi.org/p/merge3 + steps: + - name: Download distributions + uses: actions/download-artifact@v2 + with: + name: artifact + path: dist + - name: Publish package distributions to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/PKG-INFO new/merge3-0.0.15/PKG-INFO --- old/merge3-0.0.14/PKG-INFO 2023-09-17 13:50:21.219559000 +0200 +++ new/merge3-0.0.15/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 @@ -1,48 +0,0 @@ -Metadata-Version: 2.1 -Name: merge3 -Version: 0.0.14 -Summary: Python implementation of 3-way merge -Maintainer-email: Breezy Developers <t...@breezy-vcs.org> -License: GNU GPLv2 or later -Project-URL: Homepage, https://www.breezy-vcs.org/ -Project-URL: GitHub, https://github.com/breezy-team/merge3 -Classifier: Development Status :: 4 - Beta -Classifier: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: Operating System :: POSIX -Requires-Python: >=3.6 -Description-Content-Type: text/x-rst -License-File: AUTHORS - -A Python implementation of 3-way merge of texts. - -Given BASE, OTHER, THIS, tries to produce a combined text -incorporating the changes from both BASE->OTHER and BASE->THIS. -All three will typically be sequences of lines. - -Usage -===== - -From the command-line:: - - $ echo foo > mine - $ echo bar > base - $ echo blah > other - $ python -m merge3 mine base other > merged - $ cat merged - -Or from Python:: - - >>> import merge3 - >>> m3 = merge3.Merge3( - ... ['common\n', 'base\n'], - ... ['common\n', 'a\n'], - ... ['common\n', 'b\n']) - >>> list(m3.merge_annotated()) - ['u | common\n', '<<<<\n', 'A | a\n', '----\n', 'B | b\n', '>>>>\n'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/merge3/__init__.py new/merge3-0.0.15/merge3/__init__.py --- old/merge3-0.0.14/merge3/__init__.py 2023-09-17 13:50:14.000000000 +0200 +++ new/merge3-0.0.15/merge3/__init__.py 2024-05-05 17:52:16.000000000 +0200 @@ -19,7 +19,7 @@ # s: "i hate that." -__version__ = (0, 0, 14) +__version__ = (0, 0, 15) class CantReprocessAndShowBase(Exception): @@ -319,10 +319,9 @@ yield 'a', ia, amatch elif not equal_a and not equal_b: if self.is_cherrypick: - for node in self._refine_cherrypick_conflict( - iz, zmatch, ia, amatch, - ib, bmatch): - yield node + yield from self._refine_cherrypick_conflict( + iz, zmatch, ia, amatch, + ib, bmatch) else: yield ( 'conflict', iz, zmatch, ia, amatch, ib, bmatch) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/merge3.egg-info/PKG-INFO new/merge3-0.0.15/merge3.egg-info/PKG-INFO --- old/merge3-0.0.14/merge3.egg-info/PKG-INFO 2023-09-17 13:50:21.000000000 +0200 +++ new/merge3-0.0.15/merge3.egg-info/PKG-INFO 1970-01-01 01:00:00.000000000 +0100 @@ -1,48 +0,0 @@ -Metadata-Version: 2.1 -Name: merge3 -Version: 0.0.14 -Summary: Python implementation of 3-way merge -Maintainer-email: Breezy Developers <t...@breezy-vcs.org> -License: GNU GPLv2 or later -Project-URL: Homepage, https://www.breezy-vcs.org/ -Project-URL: GitHub, https://github.com/breezy-team/merge3 -Classifier: Development Status :: 4 - Beta -Classifier: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+) -Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 -Classifier: Programming Language :: Python :: 3.10 -Classifier: Programming Language :: Python :: 3.11 -Classifier: Programming Language :: Python :: Implementation :: CPython -Classifier: Programming Language :: Python :: Implementation :: PyPy -Classifier: Operating System :: POSIX -Requires-Python: >=3.6 -Description-Content-Type: text/x-rst -License-File: AUTHORS - -A Python implementation of 3-way merge of texts. - -Given BASE, OTHER, THIS, tries to produce a combined text -incorporating the changes from both BASE->OTHER and BASE->THIS. -All three will typically be sequences of lines. - -Usage -===== - -From the command-line:: - - $ echo foo > mine - $ echo bar > base - $ echo blah > other - $ python -m merge3 mine base other > merged - $ cat merged - -Or from Python:: - - >>> import merge3 - >>> m3 = merge3.Merge3( - ... ['common\n', 'base\n'], - ... ['common\n', 'a\n'], - ... ['common\n', 'b\n']) - >>> list(m3.merge_annotated()) - ['u | common\n', '<<<<\n', 'A | a\n', '----\n', 'B | b\n', '>>>>\n'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/merge3.egg-info/SOURCES.txt new/merge3-0.0.15/merge3.egg-info/SOURCES.txt --- old/merge3-0.0.14/merge3.egg-info/SOURCES.txt 2023-09-17 13:50:21.000000000 +0200 +++ new/merge3-0.0.15/merge3.egg-info/SOURCES.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -.gitignore -AUTHORS -COPYING -MANIFEST.in -README.rst -disperse.conf -pyproject.toml -setup.py -test_merge3.py -tox.ini -.github/workflows/disperse.yml -.github/workflows/pythonpackage.yml -merge3/__init__.py -merge3/__main__.py -merge3/py.typed -merge3.egg-info/PKG-INFO -merge3.egg-info/SOURCES.txt -merge3.egg-info/dependency_links.txt -merge3.egg-info/entry_points.txt -merge3.egg-info/top_level.txt \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/merge3.egg-info/dependency_links.txt new/merge3-0.0.15/merge3.egg-info/dependency_links.txt --- old/merge3-0.0.14/merge3.egg-info/dependency_links.txt 2023-09-17 13:50:21.000000000 +0200 +++ new/merge3-0.0.15/merge3.egg-info/dependency_links.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/merge3.egg-info/entry_points.txt new/merge3-0.0.15/merge3.egg-info/entry_points.txt --- old/merge3-0.0.14/merge3.egg-info/entry_points.txt 2023-09-17 13:50:21.000000000 +0200 +++ new/merge3-0.0.15/merge3.egg-info/entry_points.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -[console_scripts] -merge3 = merge3.__main__:main diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/merge3.egg-info/top_level.txt new/merge3-0.0.15/merge3.egg-info/top_level.txt --- old/merge3-0.0.14/merge3.egg-info/top_level.txt 2023-09-17 13:50:21.000000000 +0200 +++ new/merge3-0.0.15/merge3.egg-info/top_level.txt 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -merge3 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/pyproject.toml new/merge3-0.0.15/pyproject.toml --- old/merge3-0.0.14/pyproject.toml 2023-09-17 13:50:13.000000000 +0200 +++ new/merge3-0.0.15/pyproject.toml 2024-05-05 17:52:16.000000000 +0200 @@ -10,17 +10,17 @@ classifiers = [ "Development Status :: 4 - Beta", "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)", - "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.12", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Operating System :: POSIX", ] dynamic = ["version"] -requires-python = ">=3.6" +requires-python = ">=3.8" dependencies = [] [project.readme] @@ -31,6 +31,11 @@ Homepage = "https://www.breezy-vcs.org/" GitHub = "https://github.com/breezy-team/merge3" +[project.optional-dependencies] +"dev" = [ + "ruff==0.4.3" +] + [tool.setuptools] packages = ["merge3"] include-package-data = false @@ -45,6 +50,9 @@ merge3 = "merge3.__main__:main" [tool.ruff] +target-version = "py37" + +[tool.ruff.lint] select = [ "ANN", "D", @@ -53,7 +61,6 @@ "I", "UP", ] -target-version = "py37" ignore = [ "ANN001", "ANN101", @@ -68,5 +75,5 @@ "D415", ] -[tool.ruff.pydocstyle] +[tool.ruff.lint.pydocstyle] convention = "google" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/setup.cfg new/merge3-0.0.15/setup.cfg --- old/merge3-0.0.14/setup.cfg 2023-09-17 13:50:21.219559000 +0200 +++ new/merge3-0.0.15/setup.cfg 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -[egg_info] -tag_build = -tag_date = 0 - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/merge3-0.0.14/test_merge3.py new/merge3-0.0.15/test_merge3.py --- old/merge3-0.0.14/test_merge3.py 2023-09-17 13:50:13.000000000 +0200 +++ new/merge3-0.0.15/test_merge3.py 2024-05-05 17:52:16.000000000 +0200 @@ -14,18 +14,13 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -import sys +import struct import unittest +from io import StringIO import merge3 -if sys.version_info[0] == 3: - import struct - int2byte = struct.Struct(">B").pack - from io import StringIO -else: - int2byte = chr - from StringIO import StringIO +int2byte = struct.Struct(">B").pack def split_lines(t):