public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
* [rpms/beets] rawhide: Remove unused duplicate detection patch
@ 2026-09-13 19:04 Gerald B Cox
  0 siblings, 0 replies; only message in thread
From: Gerald B Cox @ 2026-09-13 19:04 UTC (permalink / raw)
  To: git-commits

A new commit has been pushed.

Repo   : rpms/beets
Branch : rawhide
Commit : 13f46583f76ea174ee0a2723d756bcb78806a370
Author : Gerald B Cox <gbcox@fedoraproject.org>
Date   : 2026-09-13T12:04:11-07:00
Stats  : +0/-188 in 1 file(s)
URL    : https://src.fedoraproject.org/rpms/beets/c/13f46583f76ea174ee0a2723d756bcb78806a370?branch=rawhide

Log:
Remove unused duplicate detection patch

---
diff --git a/fix-import-duplicate-mbids.patch b/fix-import-duplicate-mbids.patch
deleted file mode 100644
index 2490305..0000000
--- a/fix-import-duplicate-mbids.patch
+++ /dev/null
@@ -1,188 +0,0 @@
-diff --git a/beets/importer/tasks.py b/beets/importer/tasks.py
-index 614281e9b..b7083426d 100644
---- a/beets/importer/tasks.py
-+++ b/beets/importer/tasks.py
-@@ -90,6 +90,23 @@ def _dup_items(obj: library.Album | library.Item) -> list[library.Item]:
-     return [obj]
- 
- 
-+def _musicbrainz_album_ids_match(
-+    new_album: library.Album, old_album: library.Album
-+) -> bool:
-+    """Compare MusicBrainz album IDs in order of specificity.
-+
-+    A release ID identifies a particular release, so it takes precedence over
-+    the broader release-group ID. If either side lacks an ID at both levels,
-+    callers must fall back to the configured duplicate keys.
-+    """
-+    for field in ("mb_albumid", "mb_releasegroupid"):
-+        new_id = new_album.get(field)
-+        old_id = old_album.get(field)
-+        if new_id and old_id:
-+            return new_id == old_id
-+    return True
-+
-+
- def resolve_upgrade(
-     new_items: list[library.Item],
-     old_items: list[library.Item],
-@@ -590,6 +607,9 @@ class ImportTask(BaseImportTask):
- 
-         duplicates = []
-         for album in lib.albums(dup_query):
-+            if not _musicbrainz_album_ids_match(tmp_album, album):
-+                continue
-+
-             # Check whether the album paths are all present in the task
-             # i.e. album is being completely re-imported by the task,
-             # in which case it is not a duplicate (will be replaced).
-diff --git a/beets/util/__init__.py b/beets/util/__init__.py
-index 993b25ff0..cfa2fb518 100644
---- a/beets/util/__init__.py
-+++ b/beets/util/__init__.py
-@@ -819,6 +819,7 @@ def get_most_common_tags(items: Sequence[Item]) -> Likelies:
-         "year",
-         "disctotal",
-         "mb_albumid",
-+        "mb_releasegroupid",
-         "label",
-         "barcode",
-         "catalognum",
-@@ -1253,6 +1254,7 @@ class Likelies(AttrDict[Any]):
-     year: int
-     disctotal: int
-     mb_albumid: str
-+    mb_releasegroupid: str
-     label: str
-     barcode: str
-     catalognum: str
-diff --git a/docs/changelog.rst b/docs/changelog.rst
-index 98c8e5ec9..f34f3b11e 100644
---- a/docs/changelog.rst
-+++ b/docs/changelog.rst
-@@ -13,9 +13,12 @@ Unreleased
-     New features
-     ~~~~~~~~~~~~
- 
--..
--    Bug fixes
--    ~~~~~~~~~
-+Bug fixes
-+~~~~~~~~~
-+
-+- Album imports no longer treat releases with conflicting MusicBrainz release or
-+  release-group IDs as duplicates merely because their album artist and title
-+  match.
- 
- ..
-     For plugin developers
-diff --git a/test/test_importer.py b/test/test_importer.py
-index 351dbb2a1..5043f7b19 100644
---- a/test/test_importer.py
-+++ b/test/test_importer.py
-@@ -1497,6 +1497,105 @@ class TestImportDuplicateAlbum(PluginMixin, ImportHelper):
-         return album
- 
- 
-+class TestAsIsImportDuplicateAlbum(ImportHelper):
-+    def setup_beets(self):
-+        super().setup_beets()
-+        self.album = self.add_album_fixture()
-+        self.prepare_album_for_import(1)
-+        self.importer = self.setup_importer(
-+            autotag=False,
-+            duplicate_action="skip",
-+            duplicate_keys={"album": "albumartist album"},
-+        )
-+
-+    @pytest.mark.parametrize(
-+        "old_album_id,new_album_id,old_group_id,new_group_id,album_count",
-+        [
-+            pytest.param(
-+                "43ca95e6-8d1e-4165-99a8-e6fd5a993500",
-+                "7a36ef45-f1c4-44c5-ae5a-7d9cabfe2718",
-+                "cbe55545-7a3e-3f8c-8c5f-33984a818e91",
-+                "6258df90-78c7-3395-8830-e7b4328a002c",
-+                2,
-+                id="different-releases-and-release-groups",
-+            ),
-+            pytest.param(
-+                "old-release",
-+                "new-release",
-+                "same-release-group",
-+                "same-release-group",
-+                2,
-+                id="different-releases-same-release-group",
-+            ),
-+            pytest.param(
-+                "",
-+                "",
-+                "old-release-group",
-+                "new-release-group",
-+                2,
-+                id="missing-releases-different-release-groups",
-+            ),
-+            pytest.param(
-+                "same-release",
-+                "same-release",
-+                "old-release-group",
-+                "new-release-group",
-+                1,
-+                id="same-release",
-+            ),
-+            pytest.param(
-+                "",
-+                "",
-+                "same-release-group",
-+                "same-release-group",
-+                1,
-+                id="missing-releases-same-release-group",
-+            ),
-+            pytest.param(
-+                "",
-+                "new-release",
-+                "",
-+                "new-release-group",
-+                1,
-+                id="identifiers-missing-on-one-side",
-+            ),
-+        ],
-+    )
-+    def test_musicbrainz_id_precedence(
-+        self,
-+        old_album_id,
-+        new_album_id,
-+        old_group_id,
-+        new_group_id,
-+        album_count,
-+    ):
-+        self.album.update(
-+            {
-+                "albumartist": "Santana",
-+                "album": "Santana",
-+                "mb_albumid": old_album_id,
-+                "mb_releasegroupid": old_group_id,
-+            }
-+        )
-+        self.album.store()
-+
-+        import_file = self.import_media[0]
-+        import_file.update(
-+            {
-+                "artist": "Santana",
-+                "albumartist": "Santana",
-+                "album": "Santana",
-+                "mb_albumid": new_album_id,
-+                "mb_releasegroupid": new_group_id,
-+            }
-+        )
-+        import_file.save()
-+
-+        self.importer.run()
-+
-+        assert len(self.lib.albums()) == album_count
-+
-+
- @patch(
-     "beets.metadata_plugins.candidates", Mock(side_effect=album_candidates_mock)
- )

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-13 19:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-13 19:04 [rpms/beets] rawhide: Remove unused duplicate detection patch Gerald B Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox