mbsync doesn't handle merged albums
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 2.1k
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 31
Description
### Problem
I noticed I have different artist for VULTURES 1 and VULTURES 2, so I ran `mbsync` to try to fix this:
```sh
% beet -vv mbsync VULTURES
```
The output looks fine, but I was confused that nothing seemed to change:
```
...
Sending event: library_opened
Parsed query: AndQuery([AnyFieldQuery('VULTURES', ('artist', 'title', 'comments', 'album', 'albumartist', 'genre'), SubstringQuery), NoneQuery('album_id', True)])
Parsed sort: NullSort()
Parsed query: AndQuery([AnyFieldQuery('VULTURES', ('album', 'albumartist', 'genre'), SubstringQuery)])
Parsed sort: NullSort()
Requesting MusicBrainz release 3e62072c-2c9d-45e7-815e-9746a72591e7
Sending event: mb_track_extract
...
Sending event: mb_album_extract
Sending event: albuminfo_received
mbsync: applying changes to Kanye West, Ty Dolla $ign - VULTURES 1
```
It turns out the release I used in the beginning has been merged into another release, which `mbsync` doesn't seem to notice.
Original url: https://beta.musicbrainz.org/release/3e62072c-2c9d-45e7-815e-9746a72591e7
New url: https://beta.musicbrainz.org/release/ac54ae52-6423-4835-952c-9a320d442f13
I don't know what the cleanest solution would be, but one approach could be checking if the url redirects and in that case update the ID to match the new page.
### Setup
* OS: Arch Linux
* Python version: 3.12.5
* beets version: 2.0.0
* Turning off plugins made problem go away (yes/no): didn't try
Contributor guide
Research direction
Start with the mbsync command and reproduce the reported VULTURES case using the two MusicBrainz release URLs in the issue. Trace how the original release is resolved and how merged releases are handled; done means mbsync recognizes the merged release and applies the expected metadata update.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100