beetbox / beetbox/beets

mbcollection: 'remove' option inadvertently removes merged releases

Open
#2,914 1 comment 0 reactions 0 assignees View on GitHub
bug mbcollection
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.