mbcollection: 'remove' option inadvertently removes merged releases
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 2.1k
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 31
Description
### Problem
For an album 'A' which is later merged into another album 'B' on MusicBrainz, the MBID of A will be redirected to MBID of B.
If I tried to run `beet mbupdate -r` with a local collection containing album 'A', it will add album 'B' to my remote collection (redirected on the server side) first. But in the end, 'B' will inadvertently get removed (since `mbcollection` plugins believes 'B' is not newly added and should be removed).
#### Steps to reproduce:
1. Create a local database containing [this album](https://musicbrainz.org/release/d49a8839-f5f5-467d-a4ce-2d3d7e03908b).
2. run `beet mbupdate -r`
#### Expected Behavior:
[this album](https://musicbrainz.org/release/1b27bf95-17e9-48c2-82f6-087b7142b4d2) is added to remote collection instead of the one with original MBID.
#### Actual Behavior:
Nothing is added to remote collection. The expected album is added first but later get removed.
### Setup
* OS: Linux
* Python version: 3.6.5
* beets version: 1.4.6
* Turning off plugins made problem go away (yes/no): N/A
Contributor guide
Research direction
Start with the `beet mbupdate -r` entry point and the `mbcollection` plugin's handling of newly added and removed releases. Reproduce the case using the two linked MusicBrainz releases, then verify that the redirected release remains in the remote collection instead of being removed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100