Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-deepmerge for 
openSUSE:Factory checked in at 2023-12-19 23:16:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-deepmerge (Old)
 and      /work/SRC/openSUSE:Factory/.python-deepmerge.new.9037 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-deepmerge"

Tue Dec 19 23:16:31 2023 rev:3 rq:1133986 version:1.1.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-deepmerge/python-deepmerge.changes        
2023-05-30 22:02:38.551081056 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-deepmerge.new.9037/python-deepmerge.changes  
    2023-12-19 23:16:41.607414714 +0100
@@ -1,0 +2,9 @@
+Tue Dec 19 09:34:58 UTC 2023 - Dirk Müller <dmuel...@suse.com>
+
+- update to 1.1.1:
+  * Fix documentation for custom strategies
+  * Update Python versions
+  * Make predefined merge strategies work with built-in
+    collections subtypes
+
+-------------------------------------------------------------------

Old:
----
  deepmerge-1.1.0.tar.gz

New:
----
  deepmerge-1.1.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-deepmerge.spec ++++++
--- /var/tmp/diff_new_pack.DFFlQB/_old  2023-12-19 23:16:42.207436564 +0100
+++ /var/tmp/diff_new_pack.DFFlQB/_new  2023-12-19 23:16:42.211436709 +0100
@@ -18,17 +18,17 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-deepmerge
-Version:        1.1.0
+Version:        1.1.1
 Release:        0
 License:        MIT
 Summary:        A toolset to deeply merge python dictionaries
 URL:            https://github.com/toumorokoshi/deepmerge
 Group:          Development/Languages/Python
 Source:         
https://files.pythonhosted.org/packages/source/d/deepmerge/deepmerge-%{version}.tar.gz
+BuildRequires:  %{python_module base >= 3.8}
 BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools_scm > 5}
-BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module vcver}
 BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes

++++++ deepmerge-1.1.0.tar.gz -> deepmerge-1.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/deepmerge-1.1.0/.github/workflows/python-package.yaml 
new/deepmerge-1.1.1/.github/workflows/python-package.yaml
--- old/deepmerge-1.1.0/.github/workflows/python-package.yaml   2022-10-25 
07:23:59.000000000 +0200
+++ new/deepmerge-1.1.1/.github/workflows/python-package.yaml   2023-12-18 
23:13:38.000000000 +0100
@@ -18,7 +18,7 @@
     strategy:
       fail-fast: false
       matrix:
-        python-version: ["2.7", "3.8", "3.9", "3.10"]
+        python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
 
     steps:
     - uses: actions/checkout@v2
@@ -34,14 +34,14 @@
       run: |
         make build
     - name: lint
-      if: ${{ matrix.python-version == '3.10' }}
+      if: ${{ matrix.python-version == '3.12' }}
       run: |
         make lint
     - name: test
       run: |
         make test
     - name: pypi-release
-      if: ${{ startsWith(github.ref, 'refs/tags/') && matrix.python-version == 
'3.10' }}
+      if: ${{ startsWith(github.ref, 'refs/tags/') && matrix.python-version == 
'3.12' }}
       uses: pypa/gh-action-pypi-publish@master
       with:
         password: ${{ secrets.PYPI_API_TOKEN }}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/deepmerge-1.1.0/PKG-INFO new/deepmerge-1.1.1/PKG-INFO
--- old/deepmerge-1.1.0/PKG-INFO        2022-10-25 07:24:22.488194500 +0200
+++ new/deepmerge-1.1.1/PKG-INFO        2023-12-18 23:14:00.097812200 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: deepmerge
-Version: 1.1.0
+Version: 1.1.1
 Summary: a toolset to deeply merge python dictionaries.
 Home-page: http://deepmerge.readthedocs.io/en/latest/
 Classifier: Development Status :: 5 - Production/Stable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/deepmerge-1.1.0/deepmerge/_version.py 
new/deepmerge-1.1.1/deepmerge/_version.py
--- old/deepmerge-1.1.0/deepmerge/_version.py   2022-10-25 07:24:22.000000000 
+0200
+++ new/deepmerge-1.1.1/deepmerge/_version.py   2023-12-18 23:14:00.000000000 
+0100
@@ -1,5 +1,16 @@
-# coding: utf-8
 # file generated by setuptools_scm
 # don't change, don't track in version control
-__version__ = version = '1.1.0'
-__version_tuple__ = version_tuple = (1, 1, 0)
+TYPE_CHECKING = False
+if TYPE_CHECKING:
+    from typing import Tuple, Union
+    VERSION_TUPLE = Tuple[Union[int, str], ...]
+else:
+    VERSION_TUPLE = object
+
+version: str
+__version__: str
+__version_tuple__: VERSION_TUPLE
+version_tuple: VERSION_TUPLE
+
+__version__ = version = '1.1.1'
+__version_tuple__ = version_tuple = (1, 1, 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/deepmerge-1.1.0/deepmerge/merger.py 
new/deepmerge-1.1.1/deepmerge/merger.py
--- old/deepmerge-1.1.0/deepmerge/merger.py     2022-10-25 07:23:59.000000000 
+0200
+++ new/deepmerge-1.1.1/deepmerge/merger.py     2023-12-18 23:13:38.000000000 
+0100
@@ -36,9 +36,9 @@
         return self._type_conflict_strategy(self, *args)
 
     def value_strategy(self, path, base, nxt):
-        if not (isinstance(base, type(nxt)) or isinstance(nxt, type(base))):
-            return self.type_conflict_strategy(path, base, nxt)
         for typ, strategy in self._type_strategies:
-            if isinstance(nxt, typ):
+            if isinstance(base, typ) and isinstance(nxt, typ):
                 return strategy(self, path, base, nxt)
+        if not (isinstance(base, type(nxt)) or isinstance(nxt, type(base))):
+            return self.type_conflict_strategy(path, base, nxt)
         return self._fallback_strategy(self, path, base, nxt)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/deepmerge-1.1.0/deepmerge/tests/test_full.py 
new/deepmerge-1.1.1/deepmerge/tests/test_full.py
--- old/deepmerge-1.1.0/deepmerge/tests/test_full.py    2022-10-25 
07:23:59.000000000 +0200
+++ new/deepmerge-1.1.1/deepmerge/tests/test_full.py    2023-12-18 
23:13:38.000000000 +0100
@@ -1,4 +1,5 @@
 from deepmerge.exception import *
+from collections import OrderedDict, defaultdict
 import pytest
 
 
@@ -48,3 +49,12 @@
     always_merger.merge(base, next)
 
     assert base == {"foo": "value", "bar": "value2", "baz": ["a", "b"]}
+
+
+def test_subtypes():
+    base = OrderedDict({"foo": "value", "baz": ["a"]})
+    next = defaultdict(str, {"bar": "value2", "baz": ["b"]})
+
+    result = always_merger.merge(base, next)
+
+    assert dict(result) == {"foo": "value", "bar": "value2", "baz": ["a", "b"]}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/deepmerge-1.1.0/deepmerge.egg-info/PKG-INFO 
new/deepmerge-1.1.1/deepmerge.egg-info/PKG-INFO
--- old/deepmerge-1.1.0/deepmerge.egg-info/PKG-INFO     2022-10-25 
07:24:22.000000000 +0200
+++ new/deepmerge-1.1.1/deepmerge.egg-info/PKG-INFO     2023-12-18 
23:14:00.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: deepmerge
-Version: 1.1.0
+Version: 1.1.1
 Summary: a toolset to deeply merge python dictionaries.
 Home-page: http://deepmerge.readthedocs.io/en/latest/
 Classifier: Development Status :: 5 - Production/Stable
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/deepmerge-1.1.0/docs/guide.rst 
new/deepmerge-1.1.1/docs/guide.rst
--- old/deepmerge-1.1.0/docs/guide.rst  2022-10-25 07:23:59.000000000 +0200
+++ new/deepmerge-1.1.1/docs/guide.rst  2023-12-18 23:13:38.000000000 +0100
@@ -80,7 +80,7 @@
 Strategies are functions that satisfy the following properties:
 
 * have the function signature (config, path, base, nxt)
-* return the merged object, or None.
+* return the merged object, or `deepmerge.STRATEGY_END`.
 
 Example:
 
@@ -92,7 +92,7 @@
           base.append(nxt[-1])
           return base
 
-If a strategy fails, an exception should not be raised. This is to
+If a strategy fails, an exception should not be raised, instead it should 
return `deepmerge.STRATEGY_END`. This is to
 ensure it can be chained with other strategies, or the fall-back.
 
 Uniqueness of elements when merging
@@ -104,4 +104,4 @@
 dictionaries.
 
 In those cases, built-in deepmerge strategies will call repr()
-on the object and hash that value instead.
\ No newline at end of file
+on the object and hash that value instead.

Reply via email to