public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Gerald B Cox <gbcox@fedoraproject.org>
To: git-commits@fedoraproject.org
Subject: [rpms/beets] f45: Remove unused duplicate detection patch
Date: Sun, 13 Sep 2026 19:06:29 GMT [thread overview]
Message-ID: <178932638915.1.16201824946426862628.rpms-beets-13f46583f76e@fedoraproject.org> (raw)
A new commit has been pushed.
Repo : rpms/beets
Branch : f45
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=f45
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)
- )
reply other threads:[~2026-09-13 19:06 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=178932638915.1.16201824946426862628.rpms-beets-13f46583f76e@fedoraproject.org \
--to=gbcox@fedoraproject.org \
--cc=git-commits@fedoraproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox